[RESOLU] Résultat d'une requête dans une liste déroulante

Eléphanteau du PHP | 45 Messages

16 avr. 2015, 10:49

Bonjour,
Je voudrais le résultat de la requête $req qui retournera les noms des phases de la table phase et les affichera dans la liste déroulante "phase". le problème c'est que le résultat de cette requête dans la liste déroulante ne m'affiche que le nom de la dernière phase
$req="select nom_phase from phases where nom_miss='$mission'";
	$rs=mysql_query($req);
		while($ligne=mysql_fetch_array($rs))
		{	$nom_phase=$ligne[0];
		}
for($i=1;$i<=$nb;$i++) 
{	
echo 
'<tr>
<td><input type="text" name="nom_consultant'.$i.'"></td>
<td><select class="form-control" name="Phase">
  <option name="nom_phase'.$i.'" value="'.$nom_phase.'">'.$nom_phase.'</option>
  <option name="nom_phase'.$i.'" value="'.$nom_phase.'">'.$nom_phase.'</option>
</select></td>
<td><input type="text" name="hjb'.$i.'"></td>
<td><input type="text" name="tjm'.$i.'"></td>
</tr>';
}
Merci d'avance :P :D

Avatar du membre
Mammouth du PHP | 1609 Messages

16 avr. 2015, 10:59

Normal y a quelques erreurs logiques dans ton code.

Déjà tu boucles toutes les phases avec le while et écrases à chaque fois $nom_phase qui aura donc en sortie de boucle la valeur de la dernière phase.

Ensuite tu fais un for (avec un $nb qui sort de nul part) et tu echo une ligne de tableau (html) avec une liste déroulante contenant 2 fois la même option.

Lors du while stockes les phases dans un tableau (php) puis pour le for, boucle sur ce tableau en imprimant uniquement la balise option (le reste du code html devrait être avant et après le for).
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 45 Messages

16 avr. 2015, 13:20

merci @Saisan pour votre réponse je test et je vous tiens au courant