Salut,
J'ai suivi les indications que j'ai trouvé dans la FAQ sur le sujet, mais je ne vois pas pourquoi ma liste déroulante ne s'actualise pas
Voici le code que j'ai fait :
Et le fichier cotation1.php :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 ... <script type='text/javascript'> var xhr = null; function getXhr(){ if(window.XMLHttpRequest){ // Firefox et autres xhr = new XMLHttpRequest();} else if(window.ActiveXObject){ // Internet Explorer try {xhr = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {xhr = new ActiveXObject("Microsoft.XMLHTTP");}} else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false;}} /** * Méthode qui sera appelée sur le click du bouton */ function cotation1(){ 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){ di = document.getElementById('val_id_cot3'); di.innerHTML = xhr.responseText;}} // Ici on va voir comment faire du post xhr.open("POST","cotation1.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id de l'auteur donnee_id_analyse = document.getElementById('val_id_analyse').options[document.getElementById('val_id_analyse').selectedIndex].value; //alert(idauteur); xhr.send(donnee_id_analyse);} </script> ... <form> <select name="val_id_analyse" class="TITRE_20" id="val_id_analyse" onchange="cotation1()"> <option class="TITRE_20">Aucun</option> <?php $sql = "SELECT ergoprod_poste_cotation.id_analyse, ergoprod_cotation1.libelle, ergoprod_cotation2.nature, ergoprod_cotation3.niveau FROM (ergoprod_cotation1 INNER JOIN ergoprod_cotation2 ON ergoprod_cotation1.id_cot1 = ergoprod_cotation2.id_cot1) INNER JOIN (ergoprod_poste_cotation INNER JOIN ergoprod_cotation3 ON ergoprod_poste_cotation.id_cot3 = ergoprod_cotation3.id_cot3) ON ergoprod_cotation2.id_cot2 = ergoprod_cotation3.id_cot2 WHERE (ergoprod_poste_cotation.id_poste=$val_id_poste)"; $result=mysql_query($sql); while ($row=mysql_fetch_object($result)) { echo "<option value=\"$row->id_analyse\">$row->libelle = $row->niveau</option>\n";} ?> </select> <br> <br> <div id="val_id_cot3" style="display:inline"> <select class="TITRE_20" name="val_id_cot3"> <option value="-1">Choisir le niveau à modifier</option> </select> </div> </form>
Le problème doit venir de $_REQUEST["donnee_id_analyse"], car si je mets 1 ou une autre valeur, cela fonctionne...
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 <?php require "../../../connect.php"; ?> <head> <link rel="stylesheet" type="text/css" href="../../Style.css"> <link rel="stylesheet" type="text/css" href="../../Style_page.css"> <select name="val_id_cot3" class="TITRE_20"> <option class="TITRE_20">Liste des choix</option> <?php $sql_cotation1 = "SELECT ergoprod_cotation3.id_cot3, ergoprod_cotation3.niveau FROM ergoprod_poste_cotation LEFT JOIN ergoprod_cotation3 ON ergoprod_poste_cotation.id_cot2 = ergoprod_cotation3.id_cot2 WHERE (ergoprod_poste_cotation.id_analyse=".$_REQUEST["donnee_id_analyse"].") ORDER BY ergoprod_cotation3.evaluation"; echo $sql_cotation1; $result_cotation1=mysql_query($sql_cotation1); while ($row_cotation1=mysql_fetch_object($result_cotation1)) { echo "<option value=\"$row_cotation1->id_cot3\">$row_cotation1->niveau</option>\n";} ?> </select>
Merci.
Partager