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 :
le java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
et le code de la requête "test_select_lieu.php" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>'; } } ?>
Partager