Lier 2 listes deroulante entre elle

0/5 (9 avis)

Snippet vu 19 624 fois - Téléchargée 32 fois

Contenu du snippet

alors mon code permet de relier la zone de liste a une autre zone de liste

Source / Exemple :


<table width="750" border="0" height="350" align="center">
  <tr> 
    <td colspan="2" class="titre" height="94">Rechercher un Médecin</td>
  </tr>
  <tr> 
    <td class="principal" width="273" height="99"> Choisissez une Spécialité dans 
      la liste: 
    <td class="principal" width="467" height="99"> 
      <form method="post" name="formu" action="<?echo $PHP_SELF;?>">
        <?php
	mysql_connect("localhost","root","");
	mysql_selectdb("infirmerie") or die("Connexion impossible");
	$requete=mysql_query("select distinct specialite from medecin");?>
       <br> <?	echo('<select name="specia"  >');
		echo('<option value="'.'">'.'</option>'); 
	 while ($ligne=mysql_fetch_object($requete)){ 
  echo('<option value="'.$ligne->specialite .'">'.$ligne->specialite.'</option>'); } 
echo('</select>'); 
mysql_close;
?>
        <input type="submit" name="bnsubmit" value="Valider" >
      </form>
    </td>
  </tr>
  <tr> 
    <td class="principal" width="273" height="106"> Choisissez un Médecin 
      dans la liste: </td>
    <td class="principal" width="467" height="106"> 
      <form method="post" name="med" action="">
        <? $requete1=mysql_query("select * from medecin where specialite='$specia'")
	  ?>
        <br>
        <?	echo('<select name="med">');
		if($specia==""){
		echo('<option value="'.'">'.'Choisissez une spécialité avant'.'</option>'); 
		}
		else
		{echo('<option value="'.'">'.'</option>');}
	 while ($ligne1=mysql_fetch_object($requete1)){ 
  echo('<option value="'.$ligne1->nom .'">'.$ligne1->nom.'</option>'); } 
echo('</select>'); 
mysql_close;
?>
        <input type="submit" name="bncherche" value="Chercher">
      </form>
    </td>
  </tr>
</table>

A voir également

Ajouter un commentaire Commentaires
dameballa Messages postés 2 Date d'inscription vendredi 22 août 2008 Statut Membre Dernière intervention 19 mai 2010
14 mai 2010 à 14:01
j'ai un probléme le bouton de commande a chaque démmarrage m'affiche un nom et je ne veux pas tout le formulaire soit vide jusqu'a j'entre une nouvelle donnée. Autre pour lier deux requêtes afficher le code. Bref mon probléme est je veux afficher toute la liste des abonnés le montant et à la fin le montant total c'est urgent
trmaher Messages postés 9 Date d'inscription mardi 29 janvier 2008 Statut Membre Dernière intervention 5 mai 2009
22 avril 2009 à 23:08
oui, tu peux récupérer la valeur de la première liste via post lors de la recharge de la page. Ensuite avec un simple son sur son existence tu doit affecter le contenu du $POST['list_name'] à la première option du la liste(1ère) avec l'option selected="selected";
cs_tankati Messages postés 1 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
27 juil. 2006 à 19:09
bravo pour ce script. cependant, lorsque la page recharge, la liste spécialité est réinitialisée. Par exemple, j'ai dans l'ordre les spécialités suivantes : chirurgie, médecine générale, pédiatrie;
si je choisis d'afficher la liste des médecins pédiatres, je constate après le rechargement de la page que la liste contenant les spécialités revient à chirurgie, premier de la liste. Quelqu'un a une solution pour y remédier ?
selve Messages postés 2 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 4 mai 2005
3 mai 2005 à 17:46
Bonjour,

Je suis débutant en PHP et je justement cette fontion de passage d'une liste déroulate à une autre avec un passage de variable de l'une à l'autre pour cibler la 2eme requête.
J'ai donc copier ce code complet et j'ai un problème avec la variable $specia qu'il ne reconnais pas!!

Si quelqu'un peut m'aider.
Merci par avance.
jchbt Messages postés 10 Date d'inscription mercredi 2 mars 2005 Statut Membre Dernière intervention 17 mars 2005
16 mars 2005 à 12:43
salut,
je vous demande de l'aide car je n'arrives pas a faire tourner la fonction.
erreur renvoyée :

j'ai créé une table medecin avec les champs qu'il faut, et la premiere liste se remplit bien mais quand je cliques sur le premier bouton ça me renvoie l'erreur suivante :

You don't have permission to access /Tests/
Notice: Undefined variable: PHP_SELF in c:/program files/easyphp1-8/www/tests/listederoulante.php on line 9
on this server.

mon code exact (j'ai annulé les 2 mysql_close mais ça y fait rien) :


Rechercher,

----

Choisissez une Spécialité dans
la liste:,
<form method=\"post\" name=\"formu\" action=\"<?echo $PHP_SELF;?>\">
<?php
mysql_connect(\"localhost\",\"root\",\"\");
mysql_selectdb(\"test\") or die(\"Connexion impossible\");
$requete=mysql_query(\"select distinct specialite from medecin\");?>

<? echo('<select name=\"specia\" >');
echo('<option value=\"'.'\">'.'</option>');
while ($ligne=mysql_fetch_object($requete)){
echo('<option value=\"'.$ligne->specialite .'\">'.$ligne->specialite.'</option>'); }
echo('</select>');
//mysql_close();
?>

</form>
</td>

----

Choisissez un Médecin
dans la liste:,
<form method="post" name="med" action="">
<? $requete1=mysql_query("select * from medecin where specialite='specia'")
?>

<? echo('<select name="med">');
if($specia==""){
echo('<option value="'.'">'.'Choisissez une spécialité avant'.'</option>');
}
else
{echo('<option value="'.'">'.'</option>');}
while ($ligne1=mysql_fetch_object($requete1)){
echo('<option value="'.$ligne1->nom .'">'.$ligne1->nom.'</option>'); }
echo('</select>');
//mysql_close();
?>

</form>
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.