Bonjour à tous, j'ai un petit souci
J'espère que je trouverai de l'aide ici...
j'aimerais afficher des données de cette manière :
CONCOURS01
gagnant01_concours01
gagnant02_concours01
gagnant03_concours01
etc..
CONCOURS02
gagnant01_concours02
gagnant02_concours02
gagnant03_concours02
etc...
et non sous cette forme :
CONCOURS01
gagnant01_concours01
CONCOURS01
gagnant02_concours01
CONCOURS01
gagnant03_concours01
etc...
J'aimerais que si il y a plus qu'un résultat pour un concours on n'affiche le titre "CONCOURS01" qu'une seule fois...
voici mon code, qui m'affiche un listing de gagnants, le résultat est partiellement juste, mais si par exemple j'ai 3 gagnants pour le CONCOURS01
le code ci-dessous va m'afficher 3x ce résultat :
CONCOURS01
gagnant01_concours01
gagnant02_concours01
gagnant03_concours01
alors qu'il faudrait logiquement qu'il ne s'affiche qu'une seule fois
pourriez vous m'aider SVP, j'ai passé de nombreuses heures a retourner le problème dans tous les sens et je n'arrives pas à trouver une solution à mon problème, c'est logiquement la boucle while dans l'autre boucle while qui pose souci, je ne sais pas si ça se fait, mais je ne sais pas trop comment faire autrement ??
d'avance un grand merci et meilleures salutations à tout l'équipe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <? //je recherche tous les gagnants dans ma base de donnée $gagnants=mysql_query("SELECT * FROM membre_concours WHERE GAGNE='1'"); while($win=mysql_fetch_array($gagnants)) { $idduconcours=$win['ID_CONCOURS']; //recherche du titre du concours dans la base concours $sql =mysql_query("SELECT ID, TITRE FROM concours WHERE ID='$idduconcours'"); $rep=mysql_fetch_array($sql); //comptage du nombre de gagnants pour chaque concours $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM membre_concours Where ID_CONCOURS='$idduconcours' AND GAGNE='1' "); $donnees = mysql_fetch_array($retour); $nBgagnants=$donnees['nbre_entrees']; //si il y a plus que 1 gagnant if ($nBgagnants>1) { //j affiche le titre du concours une seule fois ?><br /><h2><? echo $rep['TITRE']; ?></h2><? //je refais une boucle pour chercher les gagnants $retour1=mysql_query("SELECT * FROM membre_concours WHERE ID_CONCOURS='$idduconcours' and GAGNE='1'"); while($win1=mysql_fetch_array($retour1)) { ?> <p><? echo $win1['PRENOM']; ?> <? echo $win1['NOM']; ?>, <? echo $win1['ADRESSE']; ?> - <? echo $win1['CODEPOSTAL']; ?> <? echo $win1['VILLE']; ?> | <? echo $win1['REPONSE']; ?></p> <? } } else { ?> <br /> <p><strong><? echo $rep['TITRE']; ?></strong><br /><? echo $win['PRENOM']; ?> <? echo $win['NOM']; ?>, <? echo $win['ADRESSE']; ?> - <? echo $win['CODEPOSTAL']; ?> <? echo $win['VILLE']; ?> | <? echo $win['EMAIL']; ?></p> <? } } ?>
Partager