Liste déroulante et données

Eléphant du PHP | 86 Messages

14 déc. 2005, 21:42

Bonsoir, j'ai cherché sur le forum comment faire une liste déroulante (correctement vu que je n'y arrivais pas) et j'ai trouvé un post qui en traité... (vais pas raconter toute ma vire :p j'arrête)

Donc j'ai une requête pour récupérer mes pseudo :
$sql2 = "SELECT pseudo FROM lao_membre";
$req2 = mysql_query($sql2) or die(mysql_error()); 

//Conversion vers contenu 
while($membre = mysql_fetch_array ($req2)) 
{
Avec ensuite ma liste :
<select> 
<?php 
echo '<option>'.$membre['pseudo'].'</option>'; 
?> 
</select> 
Puis je ferme mon while et ma connexion :
}
}
mysql_close();
(il y a deux } c'est normal j'ai deux while :))

Mais la j'ai un champ pour chaque personne inscrite (ce qui en fait beaucoup) mais moi je voudrais tous mes membres dans une seule liste car la j'ai une liste = un pseudo

Quelqu'un peut m'aider?
Merci

Mammouth du PHP | 1311 Messages

14 déc. 2005, 21:46

j 'ai faillit ne pas comprendre
la balise select doit etre en dehors deton while
<?php
$sql2 = "SELECT pseudo FROM lao_membre";
$req2 = mysql_query($sql2) or die(mysql_error());
?>
<select>
//Conversion vers contenu
<?php
while($membre = mysql_fetch_array ($req2))
{

echo '<option>'.$membre['pseudo'].'</option>';
}
?>
</select>
Modifié en dernier par jeff le 14 déc. 2005, 21:53, modifié 1 fois.

Eléphant du PHP | 86 Messages

14 déc. 2005, 21:50

euh oui mais si j'ai plusieurs champs, je dois faire autant de while?? c'est pour ca que le while englobait tout ... :shock:

Mammouth du PHP | 1311 Messages

14 déc. 2005, 21:52

tu veut bien une liste outu retrouve tout tes pseudos??
si oui tu recuperer tes pseudo avec ta requete et tu bloucle pour remplire ta liste
qu est que tu ne comprend pas

Eléphant du PHP | 65 Messages

14 déc. 2005, 21:54

Le select détermine le début et la fin de ta liste réroulante, donc si les select sont dans le while, tant qu'il y a des donnés, il va recréer ta liste déroulante. Si ton select est a l'extérieur de ton while et va tout simplement afficher les donnés dans une seule liste.
Mieux vaut avoir un humour douteux que de ne pas en avoir du tout!

Eléphant du PHP | 86 Messages

14 déc. 2005, 21:58

Okay, j'ai compris, je prend note
Merci à vous :)
(donc je ferais autant de while que de listes :P )

Eléphant du PHP | 86 Messages

14 déc. 2005, 22:08

Pardonnez moi, j'ai du louper quelque chose :)
voici donc mon code (jai donc créé plusieurs while :)) :
<select>
<option selected><? echo $contenu['leader']; ?></option> 
<? while($membre = mysql_fetch_array ($req2)) 
{ 
echo '<option>'.$membre['pseudo'].'</option>'; 
}  
?> 
</select> 
</td>
</tr>
<tr>
  <td class="col1">&nbsp;</td>
   <td>
<select>
<option selected><? echo $contenu['membre2']; ?></option> 
<? while($membre = mysql_fetch_array ($req2)) 
{ 
echo '<option>'.$membre['pseudo'].'</option>'; 
}  
?> 
</select> 
Donc pour ma valeur à défaut (leader et membre2) ca roule mais pour membre2 je n'ai plus mes pseudo :
echo '<option>'.$membre['pseudo'].'</option>'; 
Donc je ne comprend pas...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 déc. 2005, 22:41

Normal tu boucle sur la meme requete, le 1er while s'arrete des qu'il n'y a plus d'enregistrements ce qui fait que la 2eme boucle n'a plus rien a faire.

tu sera obligé de d'exécuter a nouveau la requete => mysql_query()

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute