Interaction avec le serveur : AJAX + PHP [Résolu]

Signaler
Messages postés
39
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
26 septembre 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
bonjour ,
est ce que quelqu'un pourra me dire c'est koi l'erreur dans mon code :
function ajax()
{
    var xhr=null;
    
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_ajax(xhr); };
    
    //on appelle le fichier reponse.php
    xhr.open("GET", "file:///var/www/html/reponse.php", true);
    xhr.send(null);
}
 
function alert_ajax(xhr)
{
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("donnee")
//on fait juste une boucle sur chaque element "donnee" trouvé
for (i=0;i\n";
echo "<exemple>\n";
 
//on connecte a la BDD
$dbhost="localhost";
$dbuser="root";
$dbpass="imane ";
 
$dblink=mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db("data",$dblink);
 
//on lance la requete
$query = "SELECT * FROM temp";
$result = mysql_query($query,$dblink) or die (mysql_error($dblink));
 
//On boucle sur le resultat
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
echo "<donnee>" . $row[0] . "</donnee>\n";
}
echo "</exemple>\n";
 
?>

pour tester dans un fichier .html je lance ma fonction ajax mais rien n'est affiché??!!! normalement il doit afficher les données de la table .

repondez moi svp car je me suis bloquée et je sais pas quoi faire
merci d'avance

7 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
vous avez des données dans une base de données,
vous les transformez en xml
il va vous falloir traiter ce xml pour
utiliser les données...

pourquoi ne pas traiter "directement"
les données de la base ?

supposons que vous vouliez "afficher"

vous faites, en php
...début du xml...
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{ echo "<donnee>" . $row[0] . "</donnee>\n"; }
...fin du xml...
donc en javascript :
var it = docXML.getElementsByTagName("donnee");
for ( var i=0; i<it.length; i++ )
{ alert ( it[i].firstChild.nodeValue ); }


et si vous faisiez
$t='';
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{ $t.=$row[0]."\t"; }
echo $t;
coté javascript :
var it=xhr.responseHTML.split("\t");
for ( var i=0; i<it.length; i++ )
{ alert( it[i]; }

sous réserve bien entendu d'erreurs de syntaxe ou autres
pas testé bien sûr, mais pas loin, et dans le principe
ça baigne
Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
1
Bonjour,

xhr.open("GET", "file:///var/www/html/reponse.php", true);

à mon avis, ça serait plutôt xhr.open("GET", "reponse.php", true);

bonne journée
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Bonjour,

en supposant que ce que retourne le php soit correct
( difficile de juger sans la base de données ... )


var it = docXML.getElementsByTagName("donnee");
for ( var i=0; i<it.length; i++ )
{ alert ( it[i].firstChild.nodeValue ); }

déjà... sans préjuger du reste

Cordialement [mon Site] [M'écrire] Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
et "47"++

une question néanmoins :
pourquoi transformer les données
d'une base de données en xml ?
on peut traiter directement cette base non ?
Messages postés
39
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
26 septembre 2009

Re
dsl Bul3 mais j'ai pas compris ceque vous voulez dire ?
Messages postés
39
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
26 septembre 2009

je veux transformer mes données en XML pour les utiliser apres dans une fonction ajax
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
mais bon... chacun ses goûts et la caravane passe
et déjà 47 et moi même vous avons donné des pistes