Bonjour,
J'ai une page qui fait appelle a deux script Javascript.
Les deux scripts sont pratiquement les mêmes. Le but étant d'afficher deux bouts de page dynamiquement dans la même page. Le seul problème est que je n'arrive pas à récupérer la variable (ID) de la première partie de page chargé sur la deuxième page pour que je puisse effectuer ma requête SQL.
Voici la page en question : http://tiennot.fr/wp/demo.php
Voici le code de la page par défaut :
Voici le code du script nommé "ajax-table.js" :
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 <?php include("./integration/XXXX.php"); ?> <script type="text/javascript" src="./integration/js/ajax-table.js"></script> <script type="text/javascript" src="./integration/js/ajax-table2.js"></script> <header class="entry-header"> <h1 class="entry-title">Validation Inscription</h1> </header><!-- .entry-header --> <select type="text" name="users" onchange="showUser(this.value)"> <option value="">Selectionnez</option> <?php connecte(); $sql = "SELECT * FROM XXX WHERE XXX='1'"; $rs = mysql_query($sql); while($row = mysql_fetch_array($rs)) { echo "<option value=\"".$row['idEvenement']."\">".$row['nomEvenement'].' - '.$row['dateEvenement'].' - '.$row['lieuEvenement']."\n "; } ?> </select> <form class="cmxform" id="commentForm" method="post" action="./XXX.php"> <fieldset> <div id="txtHint"><b></b></div> <div id="txtHint2"><b></b></div> </fieldset> </form>
Voici le code que "ajax-table.js" appelle (getuser.php) avec un GET qui récupère l'ID de la sélection :
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 function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","./integration/getuser.php?q="+str,true); xmlhttp.send(); }
Voici le code du javascript pour la deuxième parti de la page "ajax-table2" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <? $q = $_GET['q']; echo "Voici l'ID de la selection : ".$q."<br />"; ?> <br /><input type='radio' onchange='showUser2(this.value)' name='idPack' value='1'>1<br /> <br /><input type='radio' onchange='showUser2(this.value)' name='idPack' value='2'>2<br /> <br /><input type='radio' onchange='showUser2(this.value)' name='idPack' value='3'>3<br />
Voici le code que "ajax-table2.js" appelle (getuser2.php) avec un GET qui récupère le choix de l'utilisateur (RADIO) mais qui n’arrive pas à récupérer la variable de la première page :
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 function showUser2(str2) { if (str2=="") { document.getElementById("txtHint2").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint2").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","./integration/getuser2.php?s="+str2,true); xmlhttp.send(); }
Le problème, je pense, est que je devrais utiliser non pas deux script diffèrent mais le fusionner en un. Ensuite, lors de l'appelle de la deuxième page, je devrais rajouter la variable (ID soit str) dans l'URL de destination avec le GET :
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 <?php $s=$_GET["s"]; echo "Voici le resultat du radio : ".$s."<br /> "; If ($s == "1") { echo "requete avec l'ID de la selection faite plus haut que je n'arrive pas a recuperer"; } else { echo "Requete sans l'ID de plus haut..."; } ?> <center> <input type="submit" value="valider" name="ok"> </center>
xmlhttp.open("GET","./integration/getuser2.php?s="+str2+"$q="+str,true);
Sauf que je n'y arrive pas... Je suis débutant en js et je le manipule très mal...
J'espère avoir été assez claire... Je continu de mon côté...
Cordialement
Partager