Lier 2 listes deroulante entre elle

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 135 fois - Téléchargée 30 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

Messages postés
2
Date d'inscription
vendredi 22 août 2008
Statut
Membre
Dernière intervention
19 mai 2010

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
Messages postés
9
Date d'inscription
mardi 29 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2009

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";
Messages postés
1
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
27 juillet 2006

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 ?
Messages postés
2
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
4 mai 2005

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.
Messages postés
10
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
17 mars 2005

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.