Bonjour à tous,
je veux créer un contenu de page qui s'affiche en fonction de deux liste déroulante indépendante, ça veux dire que ma liste 1 ne dépend pas de la liste 2 et inversement,
seulement ces liste e permet de filtrer des résultat
voici mon code php
ma fonction ajax
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
32
33
34
35 <script type='text/javascript' src='js/liste_dynamique_ajax.js'></script> <form action='trace.php' method='post'><center> <label for='trace'>Evenement</label> <select name='trace' id='trace' onchange='go($id)'> <option value='-1'> Choisir un évènement</option> <option value='1'>".get_string('nbr_acc', 'report_suivi')."</option> <option value='2'>".get_string('nbr_page', 'report_suivi')."</option> <option value='3'>".get_string('nbr_fichier', 'report_suivi')."</option> <option value='4'>".get_string('nbr_msg', 'report_suivi')."</option> <option value='5'>".get_string('nbr_elt', 'report_suivi')."</option> <option value='6'>".get_string('nbr_tentativ', 'report_suivi')."</option> </select> "; $s=mysql_query('select * from mdl_groups where courseid='.$id); $d= mysql_fetch_array($s); if(isset($d['id'])){ echo "<label for='groupe'>Groupe</label> <select name='groupe' id='groupe' onchange='go2()'> <option value='-1'> Choisir un groupe</option>"; $ss=mysql_query('select * from mdl_groups where courseid='.$id); while ($don= mysql_fetch_array($ss)) { echo "<option value=".$don['id'].">".$don['name']."</option>"; } echo "</select></center>"; } echo"</form> <div id='resultat' style='display:inline'> </div> ";
et mon de code php d'affichage de contenu
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
32
33
34
35
36
37
38
39
40
41
42
43 function go(id2){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('resultat').innerHTML = leselect; } } sel = document.getElementById('trace'); idtrace = sel.options[sel.selectedIndex].value; xhr.open("GET","ajax_liste.php?course="+id2+"&trace="+idtrac,true); xhr.send(null); } function go2(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('resultat').innerHTML = leselect; } } sel = document.getElementById('groupe'); idgroupe = sel.options[sel.selectedIndex].value; xhr.open("GET","ajax_liste.php?groupe="+idgroupe,true); xhr.send(null); }
donc je dois choisir une trace pour m'affiché une liste d'étudiant ensuite la filtré par le groupe choisi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(isset($_GET["trace"])){ $id=$_GET["course"]; if(isset ($_GET["groupe"])){ // contenu } else{ // contenu } }
quelqu'un pourra m'aider svp
Partager