Interaction avec le serveur : AJAX + PHP

Résolu
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009 - 17 sept. 2009 à 14:53
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 17 sept. 2009 à 15:42
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

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 sept. 2009 à 15:38
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
3
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
17 sept. 2009 à 15:08
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 sept. 2009 à 15:09
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 sept. 2009 à 15:12
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
17 sept. 2009 à 15:21
Re
dsl Bul3 mais j'ai pas compris ceque vous voulez dire ?
0
kate1910 Messages postés 39 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 26 septembre 2009
17 sept. 2009 à 15:37
je veux transformer mes données en XML pour les utiliser apres dans une fonction ajax
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 sept. 2009 à 15:42
mais bon... chacun ses goûts et la caravane passe
et déjà 47 et moi même vous avons donné des pistes
0
Rejoignez-nous