Page 1 sur 1

Problème menu déroulant avec 3menu

Posté : 30 avr. 2010, 17:32
par spidercrash
bonjour a tous j'ai un soucis avec mes menu déroulant

je souhaiterai quand le choix du menu 1 et fait alors apparait le menu 2 et quand le 2 et fait alors apparait le menu 3

voici mon code
<?php
echo("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");

/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */

$serveur = "www";

$admin   = "www";

$mdp     = "www";

$base    = "www";
 
$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'];
			}
		}
echo '1';
		?>
	
	<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
echo '1.5';
			// On parcours le tableau ($key correspond à l'id_departement et $val son nom)
			foreach($arr_departement as $key => $val) {
echo '1.7';
			?>
			<option value="<?php echo $key; ?>"<?php echo (($idr == $key)?" selected=\"selected\"":null); ?>><?php echo $val; ?></option>
			<?php
			}
echo '2';
			?>
        </select>    
    </form>
	
	<?php
echo '3';
    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);
echo '4';	   
		$arr_categorie = array();
		while($ligne_categorie = mysql_fetch_assoc($rech_categorie)){
			$arr_categorie[ $ligne_categorie['id_categorie'] ] = $ligne_categorie['categorie'];
		}
echo '5';	   
		?>
		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
echo '6';
			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
echo '7';
        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`;";
echo '8';				  
		$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... */
	}
?>




Re: Problème menu déroulant avec 3menu

Posté : 01 mai 2010, 22:59
par dunbar
Salut,

Cyrano avait fait un tuto sur les listes liée ici

Re: Problème menu déroulant avec 3menu

Posté : 02 mai 2010, 11:16
par spidercrash
ben justement j'ai prit modéle de sont tuto afin de le faire fonctionner avec trois menu mais sa bloc

Re: Problème menu déroulant avec 3menu

Posté : 03 mai 2010, 18:52
par spidercrash
personne peut m'aider svp car deux avec 3 menu cela bloc toujours

Re: Problème menu déroulant avec 3menu

Posté : 04 mai 2010, 13:40
par visualight
Les menu sont ils liés entre eux ?
Du style si on choisi un élément du menu 1, le menu 2 afffiche les résultats correspondants et ainsi de suite ??