cette fois-ci je travail sur une autre base ce trouvant sur une machine de la boîte mais mon xml ne s'affiche pas côté js alors que sa marchait sur la bd se trouvant sur mon portable.
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
| <?php
// include_once 'testConnexionDiam4.php';
header('Content-Type: text/xml');
echo "<?xml version=\"1.0\"?>\n";
echo "<examen>\n";
// main
// connect to MySQL
$database = "MydataBase";
$user = "root";
$password = " toto";
$hostname="localhost";
$serveurCon = mysql_connect("localhost", $user, $password);
// Connecte la base
$dbcon=mysql_select_db($database);// or die ("La base de données est inexistante \n");
$rows = array();// tableau de tableau
//$tableau = array();// tableau permet de spliter la date et l'heure de l'examen
$query = "select * from examen where code_unite_stockage=1;";
$result = mysql_query($query) or die($query . " - " . mysql_error());
while ($rows = mysql_fetch_array($result)) {
echo "<id>" .$rows['id_examen']. "</id>\n";
$tableau=split(" ",$rows['date_examen']);
echo "<date>" . $tableau[0] . "</date>\n";
//echo "<date>" .$rows['date_examen']. "</date>\n";
echo "<heure>" . $tableau[1]. "</heure>\n";
echo "<description>" . $rows['description'] . "</description>\n";
}
echo "</examen>\n";
?> |
du côté js
alert("texte "+xhr.responseText);
affiche bien le xml avec toutes les valeurs dans les bonnes balises et ce qui est plus étonnant c'est
alert("longueur "+items.length);
qui affiche 0 alolrs qu'il ne devrait pas voici le code en entier
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
| function ajaxExamens(xhr)
{
var docXML= xhr.responseXML;
alert("texte "+xhr.responseText);
var items = docXML.getElementsByTagName("id")//balise id du xml(id des examens)
alert("longueur "+items.length);
//on fait juste une boucle sur chaque element "id" de chaque examen
for (i=0;i<items.length;i++)
{
// création des nouveaux noeuds
var nouveauLi = document.createElement('li');
var nouveauDiv = document.createElement('div');
//var nouveauLabel = document.createTextNode(items.item(i).firstChild.data);
var nouveauLabel = document.createTextNode("Examen"+(i+1));
nouveauLi.label=items.item(i).firstChild.data;// id examen
// lui donne un attribut class appelé cliquable défini dans le css
nouveauDiv.className="cliquable";
//sur clic des div créés appel de la fonction de création des séries
nouveauLi.onclick = function(){ajax1(this.label)};//ie et ff
// raccord des noeuds
nouveauDiv.appendChild(nouveauLabel);
nouveauLi.appendChild(nouveauDiv);
var insertAvantMoi=document.getElementById('series');
var parentUl=insertAvantMoi.parentNode;
parentUl.insertBefore(nouveauLi, insertAvantMoi);
}
} |
Partager