Bonjour à tous, j'ai ici un script de PHP/Ajax qui rafraîchit une variable PHP grâce à Ajax par le rafraîchissement d'une requête et celle ci fonctionne mais le problème est que ça rame grave quand je lance ce code sur le serveur. Donc est ce que j'ai fait une erreur qui demande trop de ressources ?
Mon HTML :
Puis mon appel requête (autre.php) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <html> <head> <title>Exemple</title> <script type="text/javascript"> 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() { affichage(xhr); }; //on appelle le fichier reponse.txt xhr.open("GET", "autre.php", true); xhr.send(null); } function affichage(xhr){ var docXML= xhr.responseXML; var items = docXML.getElementsByTagName("donnee") //on fait juste une boucle sur chaque element "donnee" trouvé for (i=0;i<items.length;i++){ document.getElementById("bip").innerHTML = items.item(i).firstChild.data; var timer=setInterval(ajax, 5000); } } </script> </head> <body onload="javascript:ajax();"> <div id="bip"></div> </body> </html>
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php header('Content-Type: text/xml'); echo "< ?xml version=\"1.0\"? >\n"; // L'espace est pour la coloration syntaxique echo "<exemple>\n"; $user="####"; $host="####"; $password="####"; $database="####"; $v = 0; $cxnvisit = mysqli_connect($host, $user, $password, $database) or die ("Etape 1 : Connexion impossible au serveur"); $sqlvisit = "SELECT * FROM visite WHERE visiteur='$var1' and visiter='$var2'"; $resultvisit = mysqli_query($cxnvisit,$sqlvisit) or die ("Requete en echec region"); while($row = mysqli_fetch_row($resultvisit)) { $idvisite = $row[0]; $v = $v + 1; } echo "<donnee>" . $v . "</donnee>\n"; echo "</exemple>\n"; ?>
Ai-je fais une erreur pour que cela rame autant ?
Merci par avance
Partager