Bonjour,
Comme vous pouvez vous en douter, je rencontre un souci.
Je tiens d'abors a préciser que jai bien farfouiller les divers sujets proposé par ce site concernant les listes liées. Et oui encore (désoler).
Bref c'est juste un test bateau pour moi, je m'explique je fais des liste liées pour apprendre afin de pouvoir faire des tableau avec filtre ensuite.
Donc j'ai mes listes comme ceci:
j'envoi bien une variable en POST a ma page php pour faire ma requette dont voici le code:
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 <tr> <td width="157">Département :</td> <td width="236"> <select name="Departement" id="Departement" onchange="request(this)";> <option value="vide"></option> <?php include 'connect_bdd\connection_BDD.php'; $roq = "select * from departement"; $rop = mysql_query($roq); while ($ros = mysql_fetch_assoc($rop) ) { echo "<option value='".$ros['ID_DEP']."'>".$ros['ID_DEP']." ".$ros['NOM_DEP']."</option>"; } ?> </select> </td> </tr> <tr> <td width="236">Ville :</td> <td width="236"> <select name="Ville" id="Ville"> </select> </td> </tr>
L'opération se passe bien et un flux XML est renvoyé, pour affirmé ceci j'utilise Firefox avec firebug, qui m'affiche tout se qui se passe, le post, le retour xml, etc..
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 <?php include 'connect_bdd\connection_BDD.php'; //$dep = 1; if(isset($_POST['Departement'] ) )//si le departement choisit on va ramonter les villes de ce departement { $departement = htmlspecialchars($_POST['Departement']); $req = " SELECT * FROM ville WHERE ID_DEP= '$departement' "; $rep = mysql_query($req); header("Content-Type: text/xml"); $contenu_xml = '<?xml version="1.0" encoding="UTF-8"?>'; $contenu_xml = $contenu_xml . '<racine>'; while($res = mysql_fetch_assoc($rep) ) { //$contenu_xml = $contenu_xml ."<item id=\"".$res['ID_VIL']."\" name=\"".htmlentities($res['NOM_VIL'], ENT_NOQUOTES, "ISO-8859-1")."\" />"; $contenu_xml = $contenu_xml ."<racine>"; $contenu_xml = $contenu_xml ."<numero>".$res['ID_VIL']."</numero> "; $contenu_xml = $contenu_xml ."<lenom>".$res['NOM_VIL']."</lenom> "; $contenu_xml = $contenu_xml ."</racine>"; } $contenu_xml = $contenu_xml . '</racine>'; echo $contenu_xml; } ?>
Bon donc je reçoit bien le flux, seulement, je reçoit un Objet de donnée, j'arrive a compter le nombre d'élément qu'il y a dedans mais je n'arrive pas a extraire les données, c'est a dire avec un simple alert(), j'obtient jamais mes informations, mais juste un objet.
Et je ne trouve pas de fonction sur internet, même avec mon ami google, pour extraire le contenu de cet objet.
je vous met mon code javascript qui fait tout cela, ici :
Voila je vous remercie par avance des informations que vous pourrez me fournir.
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 <script type="text/javascript"> <!-- function request(oSelect) { var value = oSelect.options[oSelect.selectedIndex].value; var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { var monXml=xhr.responseXML; readData(monXml);//flux bien arrivée } }; xhr.open("POST", "Ajax.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("Departement=" + value); } function readData(oData) { var nodes = oData.getElementsByTagName("item"); //nodes est un objet de donnée for (var i=0; i<4;i++) { var leId = nodes[i]; alert(leId); } } </script>
Partager