spidercrash Posté 3 Mai 2010 Posté 3 Mai 2010 (modifié) bonjour a tous j'essaye de relier 3 menu déroulant liée mais cela ne fonctionne pas pouvez vous m'adez svp <?phpecho("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");/* * Paramètre BDD */$serveur = "aaa";$admin = "aaa";$mdp = "aaaa";$base = "aaaa";$idr = isset($_POST['departement'])?$_POST['departement']:null;$ics = isset($_POST['categorie'])?$_POST['categorie']:null;$idsc = isset($_POST['souscategorie'])?$_POST['souscategorie']:null;?><div id="formulaire"> Votre departement :<br /> <?php $connexion = mysql_pconnect($serveur, $admin, $mdp) or die("Erreur connexion Base de donnée => ". mysql_error()); if($connexion != false) { $choixbase = mysql_select_db($base, $connexion); $sql1 = "SELECT `id_departement`, `departement` FROM `departement` WHERE `id_region` = '18' ORDER BY `id_departement`"; $rech_departement = mysql_query($sql1); // Tableau des départements de la forme: array( "ID département" => "Département") $arr_departement = array(); // Si requête à un résultat if($rech_departement != false) { // On boucle le retour de la requête ligne par ligne while($ligne = mysql_fetch_assoc($rech_departement)) { // On met à jour le tableau $arr_departement[ $ligne['id_departement'] ] = $ligne['departement']; } } ?> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdepartement"> <select name="departement" id="departement" onchange="this.submit();"> <option value="-1">- - - Choisissez votre département - - -</option> <?php // On parcours le tableau ($key correspond à l'id_departement et $val son nom) foreach($arr_departement as $key => $val) { ?> <option value="<?php echo $key; ?>"<?php echo (($idr == $code_departement[$i])?" selected=\"selected\"":null); ?>><?php echo $val; ?></option> <?php } ?> </select> </form> <?php mysql_free_result($rech_departement); if($idr != -1 && $idr != null) { $sql2 = "SELECT `id_categorie`, `categorie` FROM `categorie` ORDER BY `id_categorie`;"; $rech_categorie = mysql_query($sql2, $connexion); $arr_categorie = array(); while($ligne_categorie = mysql_fetch_assoc($rech_categorie)){ $arr_categorie[ $ligne_categorie['id_categorie'] ] = $ligne_categorie['categorie']; } ?> Votre catégorie :<br /> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgcategorie"> <input type="hidden" name="departement" id="departement" value="<?php echo $arr_departement[$idr]; ?>"/> <select name="categorie" id="categorie" onchange="this.submit();"> <?php foreach($arr_categorie as $key => $val) { ?> <option value="<?php echo $key; ?>"<?php echo (($ics == $key)?" selected=\"selected\"":null); ?>><?php echo $val; ?></option> <?php } ?> </select> </form> <?php mysql_free_result($rech_categorie); } if($ics != -1 && $ics != null) { $sql3 = "SELECT `id_souscategorie`, `souscategorie` FROM `sous-categorie` WHERE `id_categorie` = '".$ics."' ORDER BY `id_souscategorie`;"; $rech_souscategorie = mysql_query($sql3, $connexion); $arr_souscategorie = array(); while($ligne_souscategorie = mysql_fetch_assoc($rech_souscategorie)) { $arr_souscategorie[ $ligne_souscategorie['id_souscategorie'] ] = $ligne_souscategorie['souscategorie']; } ?> Votre sous-catégorie :<br /> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgsouscategorie"> <input type="hidden" name="departement" id="departement" value="<?php echo $arr_departement[$idr]; ?>"/> <input type="hidden" name="categorie" id="categorie" value="<?php echo $arr_categorie[$ics]; ?>"/> <select name="souscategorie" id="souscategorie" onchange="this.submit();"> <?php foreach($arr_souscategorie as $key => $val) { ?> <option value="<?php echo $key; ?>"<?php echo(($idsc == $key)?" selected=\"selected\"":null); ?>><?php echo $val; ?></option> <?php } ?> </select> </form> <?php mysql_free_result($rech_souscategorie); } /* 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... */ }?> déja la deuxiéme liste n'apparait pas Modifié 3 Mai 2010 par spidercrash
jcaron Posté 3 Mai 2010 Posté 3 Mai 2010 Si tu nous donnais l'URL d'une page où c'est en ligne, et que tu nous disais exactement ce qui "ne fonctionne pas", on pourrait beaucoup plus facilement t'aider... Et "relier 3 menu déroulants", ça veut dire quoi? Jacques.
spidercrash Posté 4 Mai 2010 Auteur Posté 4 Mai 2010 Si tu nous donnais l'URL d'une page où c'est en ligne, et que tu nous disais exactement ce qui "ne fonctionne pas", on pourrait beaucoup plus facilement t'aider... Et "relier 3 menu déroulants", ça veut dire quoi? Jacques. relier trois liste déroulante entre eux eut veut dire les mettres en cascade. Exemple premiere liste : département deuxiéme liste : categorie et troisieme liste : sous categorie. selon le choix de la personne la deuxiéme liste apparait .... voici un lien ou j'ai placé les listes déroulante pour test. Le contenu des liste déroulante sont en liaison avec ma base de donnée Mon lien
jcaron Posté 4 Mai 2010 Posté 4 Mai 2010 Remplace this.submit() par this.form.submit(), ça devrait aider. Jacques.
spidercrash Posté 4 Mai 2010 Auteur Posté 4 Mai 2010 cela marche niquel je te remercie des petite chose peuvent faire de grande conséquence. Par contre et ce que selon le choix je peut faire une redirection vers une page . Exemple si je choisi pays de la Loire puis divers puis bricolage cela me renvoie vers la page bricolage de la region . encore merci pour tout
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant