Liste déroulante dynamique

geo_tun Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
geo_tun Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Lorsque l'utilisateur sélectionne un pays dans la première liste, la seconde se rempli les villes associées à la première

code source

<form method="post" name="fvn" action="2tab_par_etat.php"><!--comme pour le premier menu déroulant, on peut recharger la page en appliquant le nouveau paramètre, c'est-à-dire le choix de la ville -->
<p>Pays
<select type="checkbox" name="pays" size="1" id="pays" onChange="allerURL(this)">
<option value="">Indifferente</option>
<?php
mysql_connect("localhost","root","");
mysql_select_db("base");
$query = "SELECT id_pays, nom_pays FROM pays order by nom_pays ";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$id_pays = $row["id_pays"];
$nom_pays = $row["nom_pays"];
echo "<option value=".$id_pays.">" .$nom_pays." </option>";

}
mysql_close()
?>

</select>
<input name="submit2" type="submit" value="Ok" />
</p>
</form>

<form method="post" name="fvn" action="2tab_par_etat.php" onchange="allerURL(this) "><!--comme pour le premier menu déroulant, on peut recharger la page en appliquant le nouveau paramètre, c'est-à-dire le choix de la ville -->

Ville
<select name="ville" size="1" id="ville">
<option value="%" selected></option>

<?php
mysql_connect("localhost","root","");
mysql_select_db("base");

if(isset($_POST['pays']) && $_POST["pays"]!=-1) // on vérifie qu'un pays à bien été sélectionné
{ $requet = 'select id_pays, nom_ville from ville, pays where ville.id_pays=pays.id_pays and ville.id_pays=".$_POST["pays"].' ;
if($resultat=mysql_query($requet))
{
while($ligne= mysql_fetch_array($resultat))
{
$id_pays=$ligne['id_pays'];
$nom_ville=$ligne['nom_ville'];

echo "<option value=" . $id_pays . ">" . $nom_ville . "</option>";
}
}
else
{
echo "erreur de la requete";
}
}
?>

</select>
<input name="submit" type="submit" value="Envoyer">
</p>
</form>






</select>
</form>
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Quelle est la question ?

Xavier
0
geo_tun Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
comment peut-on remplir la deuxième liste selon le choix de la première, j'ai essayé avec le code précédant mais ça ne marche pas :/
sachant que id_pays est un clé primaire dans la première table ( pays ) et un clé secondaire dans la deuxième ( ville)...
0