3 Liste déroulante lié

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : 3 Liste déroulante lié

par rafale69300 » 17 juin 2009, 10:28

Ce que j'ai tenté est dans le code que j'ai mis à votre disposition, c'est la dernière partie du code. Et le problème est que les 2 première liste marche très bien mais la 3ème me retourne toujours le même résultat.

par zeus » 17 juin 2009, 10:23

Modération :
PHPFrance n'est pas un site de distribution de scripts gratuits,
ni de débuggage de scripts téléchargés et utilisés sans compréhension.

Merci de prendre le temps de lire les règlements.


Si tu veux que l'on t'aide, il va falloir nous dire ce que tu as tenté, ce qui ne marche pas (en nous expliquant ce que tu as fait et les causes que te font dire que "ça ne marche pas")

3 Liste déroulante lié

par rafale69300 » 17 juin 2009, 10:21

Sur un tutorial du site, j'ai trouvé comment faire deux liste déroulante en php et je l'ai adapté à ma situation cela marche très bien, maintenant j'essaye de rajouter une 3 ème liste liée à la 2ème mais je n'y arrive pas. je vous laisse ce que j'ai fait. Merci 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']; 
	$porte_selectionne = $_POST['porte']; 
} 
?> 

<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++; 
        } 
    } 
    ?> 
<form name="formulaire" action="./index.php?page=info_porte&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>
  
<form name="formulaire" action="./index.php?page=info_porte&categorie=porte" method="post" id="chgporte"> 
<?php 
    mysql_free_result($rech_salle); 
    /* On commence par vérifier si on a envoyé un numéro de salle 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 portes de ce batiment */ 
        $sql2 = "SELECT `id_porte`, `lib_porte`". 
        " FROM `portes`". 
        " WHERE `id_salle` = ". $idr ."". 
        " ORDER BY `id_porte`;"; 
        
            $rech_porte = mysql_query($sql2); 
            /* Un petit compteur pour les portes */ 
            $nd = 0; 
            /* On crée deux tableaux pour les numéros et les noms des portes */ 
            $code_porte = array(); 
            $nom_porte = array(); 
            /* On va mettre les numéros et noms des portes dans les deux tableaux */ 
            while($ligne_porte = mysql_fetch_assoc($rech_porte)) 
            { 
                array_push($code_porte, $ligne_porte['id_porte']); 
                array_push($nom_porte, $ligne_porte['lib_porte']); 
                $nd++; 
            } 
                       
        } 
    
?> 
 <p><select name="porte" id="porte"> 
    <option value="-1">Choisissez une porte</option> 
            <?php   
            for($d = 0; $d<$nd; $d++) 
            { 
                ?> 
  <option value="<?php echo($code_porte[$d]); ?>"<?php echo((isset($porte_selectionne) && $porte_selectionne == $code_porte[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_porte[$d]." "); ?></option> 
                <?php 
            } 
?> 
</select> </p></form>