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. Merci par avance de votre aide.
[php]<?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â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>[/php]