Deuxième select dynamique
Bonjour,
je sais que ce sujet a déjà été traité plusieurs fois, mais je n'arrive pas à l'adapter à mon code...
=> BUT : lier un deuxième <select> à la réponse au premier <select>
merci d'avance de votre aide.
mon formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <form action="" method="post">
<fieldset>
<table CELLSPACING="5" BORDER="0" CELLPADDING="5">
<tr>
<td align="right">Secteur : </td>
<td>
<select name="num_salle" id="secteur" tabindex="1" onchange="liste();">
<option value="Tous"> Tous </option>
<?php
mysql_query("SET NAMES utf8");
$affiche_secteur = "SELECT secteur_geographique FROM secteur ORDER BY secteur_geographique ASC" ;
$resultat_secteur = mysql_query($affiche_secteur) or die ('Erreur : '.mysql_error() );
if (mysql_num_rows($resultat_secteur) == 0) //On vérifie que la table contient quelque chose
{ echo '<option>Aucun</option>'; }
else
{ while ( $list_secteur = mysql_fetch_array( $resultat_secteur ) )
{ echo '<option value="'.$list_secteur['secteur_geographique'].'">'.$list_secteur['secteur_geographique'].'</option>'; }
}
?>
</select>
</td>
</tr>
<tr>
<td align="right">Nom : </td>
<td>
<select id="conteneur" name="nom2" tabindex="2" ></select>
</td>
</tr>
</table>
</fieldset>
</form> |
le java :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <script type="text/javascript">
function liste()
{
var elem = document.getElementById("conteneur");
var secteur = $(":select[name=num_salle]").value();
$.post('test_select_lieu.php',
{ secteur: num_salle },
function(data) {
elem.style.display='inline';
$('#conteneur').html(data);
});
}
</script> |
et le code de la requête "test_select_lieu.php" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php session_start();
require ('configuration.php');
$sql = connect_sql();
?>
<?php
$secteur_post_recup=mysql_real_escape_string($_POST['num_salle']);
mysql_query("SET NAMES utf8");
$affiche_nom = "SELECT * FROM lieu WHERE secteur ='$secteur_post_recup' ORDER BY nom ASC";
$resultat_nom = mysql_query($affiche_nom) or die ('Erreur : '.mysql_error() );
if (mysql_num_rows($resultat_nom) == 0)
{ echo '<option>Aucun</option>'; }
else
{ while ( $list_nom = mysql_fetch_array( $resultat_nom ) )
{ echo '<option value="'.$list_nom['nom'].'">'.stripslashes($list_nom['nom']).'</option>'; }
}
?> |