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

kate1910 39 Messages postés lundi 24 août 2009Date d'inscription 26 septembre 2009 Dernière intervention - 17 sept. 2009 à 14:53 - Dernière réponse : Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention
- 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
Afficher la suite 

7 réponses

Répondre au sujet
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 17 sept. 2009 à 15:38
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Bul3
cs_47 197 Messages postés mardi 20 janvier 2004Date d'inscription 20 février 2013 Dernière intervention - 17 sept. 2009 à 15:08
0
Utile
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
Commenter la réponse de cs_47
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 17 sept. 2009 à 15:09
0
Utile
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
Commenter la réponse de Bul3
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 17 sept. 2009 à 15:12
0
Utile
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 ?
Commenter la réponse de Bul3
kate1910 39 Messages postés lundi 24 août 2009Date d'inscription 26 septembre 2009 Dernière intervention - 17 sept. 2009 à 15:21
0
Utile
Re
dsl Bul3 mais j'ai pas compris ceque vous voulez dire ?
Commenter la réponse de kate1910
kate1910 39 Messages postés lundi 24 août 2009Date d'inscription 26 septembre 2009 Dernière intervention - 17 sept. 2009 à 15:37
0
Utile
je veux transformer mes données en XML pour les utiliser apres dans une fonction ajax
Commenter la réponse de kate1910
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 17 sept. 2009 à 15:42
0
Utile
mais bon... chacun ses goûts et la caravane passe
et déjà 47 et moi même vous avons donné des pistes
Commenter la réponse de Bul3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.