Rechercher : dans
Par :

3 Listes déroulantes liées

rafale69300, le 17 jun 2009 à 09:45:02 
 Signaler ce message aux modérateurs

Bonjour tout le monde !
Voici mon problème, après avoir trouvé plusieurs sources sur le net, j'ai réussi à lié 2 listes déroulantes mais par rapport à ce script je n'arrive pas à lié la 3ème. Je vous laisse mon script des deux listes déroulantes. Merci par avance de votre aide.

<?php 

/* On récupère si elle existe la valeur du batiment envoyée par le formulaire */ 
$idr = isset($_POST['bat'])?$_POST['bat']:null; 

if(isset($_POST['ok']) && isset($_POST['salle']) && $_POST['salle'] != "") 
{ 
    $bat_selectionnee = $_POST['bat']; 
    $salle_selectionne = $_POST['salle']; 
} 
?> 

<h3>
  <?php 
 
    $sql1 = "SELECT `id_bat`, `nom_bat`". 
    " FROM `batiments`". 
    " ORDER BY `id_bat`"; 
    $rech_bat = mysql_query($sql1); 
    $code_bat = array(); 
    $nom_bat = array(); 
    /* On active un compteur pour les batiments */ 
    $nb_bat = 0; 
    if($rech_bat != false) 
    { 
        while($ligne = mysql_fetch_assoc($rech_bat)) 
        { 
            array_push($code_bat, $ligne['id_bat']); 
            array_push($nom_bat, $ligne['nom_bat']); 

            /* On incrémente de compteur */ 
            $nb_bat++; 
        } 
    } 
    ?> 
</h3> 

<form name="formulaire" action="./index.php?page=ajout_porte&amp;categorie=porte" method="post" id="chgsalle"> 
    <?php 
    mysql_free_result($rech_bat); 
    /* On commence par vérifier si on a envoyé un numéro de batiment et le cas échéant s'il est différent de -1 */ 

    if(isset($idr) && $idr != -1) 
    { 
        /* Cération de la requête pour avoir les salles de ce batiment */ 
        $sql2 = "SELECT `id_salle`, `lib_salle`". 
        " FROM `salles`". 
        " WHERE `id_bat` = ". $idr ."". 
        " ORDER BY `id_salle`;"; 
        
            $rech_salle = mysql_query($sql2); 
            /* Un petit compteur pour les salles */ 
            $nd = 0; 
            /* On crée deux tableaux pour les numéros et les noms des salles */ 
            $code_salle = array(); 
            $nom_salle = array(); 
            /* On va mettre les numéros et noms des salles dans les deux tableaux */ 
            while($ligne_salle = mysql_fetch_assoc($rech_salle)) 
            { 
                array_push($code_salle, $ligne_salle['id_salle']); 
                array_push($nom_salle, $ligne_salle['lib_salle']); 
                $nd++; 
            } 
                       
        } 
    
?> 

<table width="50%" border="0">
   <tr>
    <td width="45%"><p>B&acirc;timent de la Porte<span class="Etoile"> *</span> :</p>
    <p>
     <select name="bat" id="bat" onchange="document.forms['chgsalle'].submit();"> 
  <option value="-1">Choisissez un batiment</option> 
    <?php 
    for($i = 0; $i < $nb_bat; $i++) 
    { 
?> 
  <option value="<?php echo($code_bat[$i]); ?>"<?php echo((isset($idr) && $idr == $code_bat[$i])?" selected=\"selected\"":null); ?>><?php echo($nom_bat[$i]); ?></option> 
<?php 
    } 
    ?> 
</select> 
     </p></td>
    <td width="55%"><p>Salle de la Porte<span class="Etoile"> *</span> :</p>
    <p><select name="salle" id="salle"> 
    <option value="-1">Choisissez une salle</option> 
            <?php   
            for($d = 0; $d<$nd; $d++) 
            { 
                ?> 
  <option value="<?php echo($code_salle[$d]); ?>"<?php echo((isset($salle_selectionne) && $salle_selectionne == $code_salle[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_salle[$d]." "); ?></option> 
                <?php 
            } 
?> 
</select> 
  </p></td></tr></table></form>
Configuration: Windows XP
Safari 525.19

Meilleures réponses pour « 3 Listes déroulantes liées » dans :
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...