[php & mysql] tri d'une requete
Résolu/Fermé
A voir également:
- [php & mysql] tri d'une requete
- Tri excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Logiciel tri photo gratuit - Guide
- Retour a la ligne php ✓ - Forum PHP
3 réponses
Leahkim
Messages postés
3081
Date d'inscription
jeudi 15 novembre 2007
Statut
Membre
Dernière intervention
2 mars 2014
279
28 juil. 2010 à 09:48
28 juil. 2010 à 09:48
Directement dans ta requete, utilise l'option group by ou order by :)
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
Modifié par Defouille le 28/07/2010 à 09:58
Modifié par Defouille le 28/07/2010 à 09:58
Bonjour,
voila un petit bout de code php qui fait ce que tu veux.
Le principe est de créer un tableau associatif avec 1er clé le numéro de participation, et contenant ensuite chaque ligne récupérée de la base.
note : il faut modifier mysql_fetch_array avec l'équivalent correspondant au type de ta base.
Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
voila un petit bout de code php qui fait ce que tu veux.
Le principe est de créer un tableau associatif avec 1er clé le numéro de participation, et contenant ensuite chaque ligne récupérée de la base.
// Creation tableau de participations // $resultat_requete = retour de ton appel sql $participations = array() while($row = mysql_fetch_array($resultat_requete)) { if(!isset($participations[$row['PARTICIPATION']]) $participations[$row['PARTICIPATION']] = array(); $participations[$row['PARTICIPATION']][] = $row ; } // Affichage if(count($participations) > 0) { foreach($participations as $num_participation => $participation) { echo $num_participation."<br/>"; echo $participation[0]['DATE']."<br/>"; foreach($participation as $question) echo $question['N°QUESTION'].": ".$question['REPONSE']."<br/>"; } }
note : il faut modifier mysql_fetch_array avec l'équivalent correspondant au type de ta base.
Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
Salut, Merci pour ta réponse je pense que c'est la bonne voie mais ca ne veux pas encore, cela renvoi une page blanche sans erreur, je pense que c'est du au nommage je te met mon code en entier avec le vrai nom des champs mixé avec ton code, peut être va tu voir rapidement ce qui cloche
Le participation est RelAttendID
Question RelQuestionID
Date AnswerDateTime
et la reponse Answer
en tout cas merci pour ta réponse rapide :)
Miko
Le participation est RelAttendID
Question RelQuestionID
Date AnswerDateTime
et la reponse Answer
$host = "xxxxxx"; $user = "xxxxx"; $bdd = "xxxxx"; $passwd = "xxxx"; mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur"); mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); // Creation et envoi de la requete $query = "SELECT 'RelAttendID' , 'RelQuestionID' , 'RelMemberID' , 'RelCampaignStatisticsID' , 'Email' , 'AnswerDateTime' , 'IP' , 'Answer' FROM 'table' WHERE 'RelSurveyID' =17 ORDER BY 'RelAttendID'"; $resultat_requete = mysql_query($query); // Creation tableau de participations $participations = array() while($row = mysql_fetch_array($resultat_requete)) { if(!isset($participations[$row['RelAttendID']]) $participations[$row['RelAttendID']] = array(); $participations[$row['RelAttendID']][] = $row ; } // Affichage if(count($participations) > 0) { foreach($participations as $num_participation => $participation) { echo $num_participation."<br/>"; echo $participation[0]['AnswerDateTime']."<br/>"; foreach($participation as $question) echo $question['RelQuestionID'].": ".$question['Answer']."<br/>"; }
en tout cas merci pour ta réponse rapide :)
Miko
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
28 juil. 2010 à 10:40
28 juil. 2010 à 10:40
es-tu sur que ta requête te renvoi des enregistrements ?
tu peux tester comme cela :
tu peux tester comme cela :
while($row = mysql_fetch_array($resultat_requete)) { echo "<pre>"; print_r($row); echo "</pre>"; if(!isset($participations[$row['RelAttendID']]) $participations[$row['RelAttendID']] = array(); $participations[$row['RelAttendID']][] = $row ; }
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
28 juil. 2010 à 10:57
28 juil. 2010 à 10:57
teste :
$resultat_requete = mysql_query($query); $num_rows = mysql_num_rows($result_requete); echo "$num_rows Rows\n";
Fonx2
Messages postés
331
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
5 mai 2013
132
28 juil. 2010 à 11:56
28 juil. 2010 à 11:56
Et si tu fais un "GROUP BY" dans ta requète SQL?
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
28 juil. 2010 à 11:57
28 juil. 2010 à 11:57
S'il fait un group by il va perdre des infos.
Fonx2
Messages postés
331
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
5 mai 2013
132
28 juil. 2010 à 12:00
28 juil. 2010 à 12:00
Lesquels?
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
28 juil. 2010 à 12:03
28 juil. 2010 à 12:03
Réponse et num question, s'il fait un group by Participation.
28 juil. 2010 à 10:28