2 listes déroulantes affichage auto de la 2e

Fermé
el_fantome Messages postés 5 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 1 décembre 2009 - 23 janv. 2009 à 23:50
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 23 janv. 2009 à 23:54
Bonjour,
Je suis entrain de développer une sorte de gestionnaire qui va servir a gérer des dossier au boulot. Déjà pour commencer j'ai essayé de créer deux listes déroulantes: choix de département puis selon ce choix liste de noms des personnes. Le problème est que pour passer de la première liste à la deuxième, je dois cliquer sur le bouton valider ce qui est un peu gênant. Je sais que c'est possible d'afficher une deuxième liste une fois on a fait le choix dans la première mais ce que je savais pas c'est comment.
Voila le code complet avec même la création des tables dans la bd: ( je commence toujours par une page de test)

<?php
$co=mysql_connect("localhost","root","");
$dbnom="test"; $db=mysql_select_db($dbnom,$co);
$db=mysql_select_db($dbnom,$co);
mysql_query("CREATE TABLE tabl1 ( t1ind char(20) PRIMARY KEY ) ");
mysql_query("CREATE TABLE tabl2 ( t2t1ind char(20) not null, t2ind char(20) not null, PRIMARY KEY( t2t1ind, t2ind ) ) ");
mysql_query("INSERT INTO tabl1 VALUES ('Groupe1')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe1','g1_pers1')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe1','g1_pers2')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe1','g1_pers3')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe1','g1_pers4')" );
mysql_query("INSERT INTO tabl1 VALUES ('Groupe2')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe2','g2_pers1')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe2','g2_pers2')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe2','g2_pers3')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe2','g2_pers4')" );
mysql_query("INSERT INTO tabl1 VALUES ('Groupe3')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe3','g3_pers1')" );
mysql_query("INSERT INTO tabl2 VALUES ('Groupe3','g3_pers2')" );
?>

<form method="post">
<select name="tb1" id="tb1" size=1 onchange='appel();'>
<?php
$co=mysql_connect("localhost","root","");
$dbnom="test"; $db=mysql_select_db($dbnom,$co);

//on affiche dans un select la TABLE 1
$res=mysql_query("SELECT * FROM tabl1",$co);
$max=@mysql_num_rows($res);
for ($nb=0;$nb<$max;$nb++) { $i=mysql_result($res,$nb,"t1ind");
if ( isset($_POST["tb1"]) && $_POST["tb1"]==$i ) $s=' selected';
else $s='';
echo '<option'.$s.' value="'.$i.'">'.$i.'</option>'; }
?>
</select>
<?php
if (isset($_POST["tb1"])) {

//on affiche dans un select la TABLE 2
?>
<select name="tb2" id="tb2" size=1>
<?php
$rch="WHERE t2t1ind='".$_POST["tb1"]."'";
$res=mysql_query("SELECT * FROM tabl2 ".$rch,$co);
$max=@mysql_num_rows($res);
for ($nb=0;$nb<$max;$nb++) { $i=mysql_result($res,$nb,"t2ind");
echo '<option value="'.$i.'">'.$i.'</option>'; }
?>
</select>
<?php
}
mysql_close($co);
?>
<input type="submit" value="Valider" /> </form>



Merci d'avance pour votre aide
A voir également:

1 réponse

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328
23 janv. 2009 à 23:54
Bonsoir,
Pour ne pas avoir à recharger la page, il te faut utiliser du javascript.
Regarde ici pour t'en inspirer (c'est la même problèmatique) : http://www.commentcamarche.net/forum/affich 10644306 listes affichees dynamiquement javascript

Cordialement,
0