A voir également:
- Php listes déroulantes
- Créer des listes déroulantes excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Excel listes déroulantes en cascade - Guide
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
2 réponses
chanteur06
Messages postés
127
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
14 septembre 2010
1
24 oct. 2007 à 18:01
24 oct. 2007 à 18:01
voici un exemple avec des specialistes par departement
Un 1er champ est affiché avec les departements,et un deuxieme champ apparait automatiquement avec une liste de specialistes
En esperant avoir éclairé un peu...
Essaie en changeant les données
Un 1er champ est affiché avec les departements,et un deuxieme champ apparait automatiquement avec une liste de specialistes
En esperant avoir éclairé un peu...
Essaie en changeant les données
<?php /* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect() * car on aura besoin de la connexion un peu plus loin dans le script */ $connexion = mysql_pconnect($serveur, $admin, $mdp); if($connexion != false) { $choixbase = mysql_select_db($base, $connexion); $sql1 = "SELECT `id_departement`, `departement`". " FROM `departement`". " ORDER BY `id_departement`"; $rech_depts = mysql_query($sql1); $code_dept = array(); $dept = array(); /* On active un compteur pour les departements */ /*On gère l'affichage des depts ds le menu déroulant*/ $nb_depts = 0; if($rech_depts != false) { while($ligne = mysql_fetch_assoc($rech_depts)) { array_push($code_dept, $ligne['id_departement']); array_push($dept, $ligne['departement']); /* On incrémente de compteur */ $nb_depts++; } } ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> <fieldset style="border: 0px"> <legend> <h4>Choisissez un spécialiste dans votre département</h4> </legend> <select name="departement" id="departement" onchange="document.forms['chgdept'].submit();"> <option value="-1">- - - Choisissez un departement - - -</option> <?php for($i = 0; $i < $nb_depts; $i++) { ?> <option value="<?php echo($code_dept[$i]); ?>"<?php echo((isset($idr) && $idr == $code_dept[$i])?" selected=\"selected\"":null); ?>><?php echo($dept[$i]); ?></option> <?php } ?> </select> <?php mysql_free_result($rech_depts); /* On commence par vérifier si on a envoyé un numéro de departement et le cas échéant s'il est différent de -1 */ if(isset($idr) && $idr != -1) { /* Création de la requête pour avoir les specialistes de ce departement */ $sql2 = "SELECT `id_specialiste`, `specialiste`,`ville`,`detail`". " FROM `specialiste`". " WHERE `id_departement` = ". $idr ."". " ORDER BY `ville`;"; if($connexion != false) { $rech_spec = mysql_query($sql2, $connexion); /* Un petit compteur pour les specialistes */ $nd = 0; /* On crée trois tableaux pour les numéros et les noms des specialistes */ $code_spec = array(); $nom_spec = array(); $ville_spec = array(); $det_spec = array(); /* On va mettre les numéros et noms des specialistes dans les trois tableaux */ while($ligne_spec = mysql_fetch_assoc($rech_spec)) { array_push($code_spec, $ligne_spec['id_specialiste']); array_push($nom_spec, $ligne_spec['specialiste']); array_push($ville_spec, $ligne_spec['ville']); array_push($det_spec, $ligne_spec['detail']); $nd++; } /* Maintenant on peut construire la liste déroulante */ ?> <select name="specialiste" id="specialiste" > <?php for($d = 0; $d<$nd; $d++) { ?> <option value="<?php echo($nom_spec[$d]); ?>"<?php echo((isset($spec_selectionne) && $spec_selectionne == $code_spec[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_spec[$d]." "); ?> <br> <br /> <?php echo ($det_spec[$d]." ".à." "); ?> <br> <br /> <?php echo($ville_spec[$d]); ?></option> <?php } ?> </select> <?php } /* Un petit coup de balai */ mysql_free_result($rech_spec); } ?> <input type="submit" name="ok" id="ok" value="Envoyer" /> <br /> <?php if(isset($_POST['ok']) && isset($_POST['specialiste']) && $_POST['specialiste'] != "") { $spec_selectionne =$_POST['specialiste']; ?> <br />Votre choix<br /> <b><?php echo($spec_selectionne); ?></b> <?php } ?> <?php $query = "SELECT specialiste, adresse, code, ville, detail, tel FROM specialiste WHERE specialiste='$spec_selectionne' order by ville asc"; $result = mysql_query($query); while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<br>"."<strong>{$row['detail']}</strong>"." " ."<br>{$row['adresse']}"." "."{$row['code']}"." "."{$row['ville']}"." "." "."<br><b>{$row['tel']}"."<br></b> "; } /* Terminé, on ferme la connexion */ mysql_close($connexion); } else { /* Si on arrive là, c'est pas bon signe, il faut vérifier les * paramètres de connexion, mot de passe, serveur pas démarré etc... */ ?>