Probleme liste deroulante

Aeyrin Messages postés 76 Statut Membre -  
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je suis entrain de faire une application en PHP (et uniquement php) pour mon bts et j'ai un probleme avec le code suivant:

$query_pays = "select idp, nomp from pays;";
$result_pays = mysql_query($query_pays, $connect);

echo '<form action="choix.php" method="post">
<input type="radio" name="conv">Convertir<br/>
<input type="radio" name="ajout">Ajouter<br/>
<input type="radio" name="modif">Modifier<br/>
<input type="radio" name="suppr">Supprimer<br/><br/>';

	if($pays!=""){
		$query_pays2 = "select nomp from pays where idp='$pays'";
		$result_pays2 = mysql_query($query_pays2, $connect);
		$pays2=mysql_fetch_array($result_pays2);
		echo '<select style="width:187" name="choixpays"><option selected value="'.$pays.'">'.$pays2[0];
	}
	else{
		echo '<select style="width:187" name="choixpays"><option selected>Choisissez un pays';
	}

	while ($pays=mysql_fetch_array($result_pays)){
		if ($pays!=$pays[0]){
			echo '<option value="choix.php?choixpays='.$pays[0].'">'.$pays[1];
		}
	}
	
echo'</select>	
<input type="submit" value="OK" name="ok"><br/>
</form>';


Pour l'explication rapide du code, on choisit une conversion, un ajout...en boutton radio et ensuite on choisit un pays dans une liste déroulante. Mon probleme c'est que le pays sélectionné dans cette page ne passe pas à la page suivante, quelqu'un aurait-il la gentillesse de venir à mon secour, svp?

Merci d'avance (s'il vous faut autre chose comme code, demandez)

A voir également:

3 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Déjà ton code est faux, t'as pas fermé tes balises option :

while ($pays=mysql_fetch_array($result_pays)){
if ($pays!=$pays[0]){
echo '<option value="choix.php?choixpays='.$pays[0].'">'.$pays[1]</option>
}
}

Ensuite, c'est quoi la value de tes options là ? pourquoi c'est une page ? Les options de ton select, c'est juste les valeurs que tu vas passer à la page suivante, pas la page en elle-même !

Et si j'ai bien compris, tu voudrais changer de page dès que tu sélectionne une lignedans ta liste déroulante ? Impossible si tu le fais qu'en php, faut intégrer quelques lignes de js en plus
0
Aeyrin Messages postés 76 Statut Membre 2
 
Tout d'abord merci pour ta réponse.
Pour le value, c'etait un test que j'ai fait et que j'ai oublié de corriger ... je suis un peu tete en l'air.

Le passage a la page suivante se fait par un boutton
<input type="submit" value="OK" name="ok">
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Donc, t'as bien :

while ($pays=mysql_fetch_array($result_pays)){
if ($pays!=$pays[0]){
echo '<option value="'.$pays[0].'">'.$pays[1].'</option>;
}
}

Et dans ta page qui reçoit, tu fais bien un $_POST['choixpays'] pour récupérer ta valeur ?
0