[AJAX/XMLHttpRequest] Probleme interrogation de données.

Probleme interrogation de données. [AJAX/XMLHttpRequest] - Java - Programmation

Marsh Posté le 23-02-2012 à 08:48:59    

Bonjour,
 
C'est la première fois que j'utilise l'AJAX et le XMLhttpRequest. J'ai un soucis, j'ai deux pages php l'une sert à se connecter à la base données pour récupérer les données (elle affiche les données). La seconde page appelle la cette dernière pour afficher en temps réel les données récupéré. Mais le soucis est que cette seconde page n'affiche rien. Dans un premier temps, je ne faisais pas d'appel de fonction (chose résolus) et dans un second temps j'avais mis un nom de domaine au lieu de donner le chemin de la page web (première page php).
 
Voilà les deux code:

1er page web:

 

Code :
  1. <?php
  2. //
  3. // Verification de données
  4. //
  5. // CONNECION SQL
  6. mysql_connect("172.16.185.155", "root", "" )or die("erreur de connexion au serveur" );
  7. mysql_select_db("passilab" )or die("erreur de connexion a la base de donnees" );
  8. // VERIFICATION
  9. $requete = 'SELECT * FROM table_mesure'; 
  10. $resultat = mysql_query($requete);
  11.  
  12. while($row = mysql_fetch_row($resultat))
  13. {
  14. if($row = mysql_fetch_row($resultat)>=1)
  15. {
  16.  $id = $row[0];
  17.  $endroit = $row[1];
  18.  $emplacement = $row[1];
  19.  $nom_capteur = $row[1];
  20.  $date = $row[1];   
  21.  $heure = $row[2];
  22.  $valeur = $row[3];
  23.  echo "$id<tr><br>
  24.  $endroit<tr><br>
  25.  $emplacement<tr><br>
  26.  $nom_capteur<tr><br>
  27.  $date<tr><br>
  28.  $heure<tr><br>
  29.  $valeur<tr><br><br>" ;
  30. }
  31. else
  32. {
  33.  echo "erreur!";
  34. }
  35. ?>


 

2ème page web:

 

Code :
  1. <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <title>TEST temperature</title>
  5. <script type="text/javascript">
  6. function readdiv(texte)
  7. {
  8. document.getElementById('temperature').innerHTML = texte;
  9. }
  10. function veriftemperature(temperature)
  11. {
  12. if(temperature !='')
  13. {
  14.  readdiv("Donnée Incorrecte" );
  15. else if(texte = file('./veriftemperature.php')
  16. {
  17.  if(texte==1)
  18.  {
  19.   readdiv('+endroit+');
  20.   readdiv('+placement+');
  21.   readdiv('+nom_capteur+');
  22.   readdiv('+date+');
  23.   readdiv('+heure+');
  24.   readdiv('+valeur+');
  25.  }
  26. else
  27. readdiv(texte);
  28. }
  29. }
  30. }
  31. function file(fichier)
  32. {
  33. if(window.XMLHttpRequest) // FIREFOX SAFARI etc.....
  34. xhr_object = new XMLHttpRequest();
  35. else if(window.ActiveXObject) // IE
  36. xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  37. else
  38. return(false);
  39. xhr_object.open("GET", fichier, false);
  40. xhr_object.send(null);
  41. if(xhr_object.readyState == 4) return(xhr_object.responseText);
  42. else return(false);
  43. }
  44. </script>
  45. </head>
  46. <body onload='veriftemperature();'>
  47. </body>
  48. </html>


 
merci par avance pour votre aide


Message édité par reiiji le 23-02-2012 à 08:51:44
Reply

Marsh Posté le 23-02-2012 à 08:48:59   

Reply

Marsh Posté le 23-02-2012 à 09:14:23    

Ligne 44 :  
if ((xhr_object.readyState == 4) && (xhr_object.status == 200)) return xhr_object.responseText;


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-02-2012 à 11:24:36    

Le "xhr_object.status == 200" est juste un test en plus, il ne resoudra rien dans ce cas>

Reply

Marsh Posté le 23-02-2012 à 11:27:15    

Je pense avoir trouve ton erreur essaye ca a la place de ta ligne 44 :  
 
xrh_object.onreadystatechange = function() {
 if(xhr_object.readyState == 4) return(xhr_object.responseText);
};

Reply

Marsh Posté le 23-02-2012 à 11:57:22    

Il est en mode synchrone, pas besoin de créer une fonction. Je l'ai déjà fait dans une appli, c'est la principale différence avec le mode asynchrone d'ajax ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-02-2012 à 15:43:42    

bonjour rufo et batoune,
 
je tvous remercie pour vos réponses, j'ai changé cette partie du code comme le proposé rufo. Mais rien ne se passe. J'ai toujours un page blanche.


Message édité par reiiji le 23-02-2012 à 15:45:19
Reply

Marsh Posté le 24-02-2012 à 14:04:24    

Sans passer par l'ajax, est-ce que la page appelee fonctionne correctement ?

Reply

Marsh Posté le 28-02-2012 à 11:36:11    

Bonjour Batoune,
 
Désolé du retard.
Oui la page appélé (veriftemperature) fonctionne très bien. Car elle affiche les données de la BDD.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed