Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2010, 14h34   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 3
Points : 1
Points : 1
Par défaut Besoin d'un petit script ajax qui verifie une valeur en bdd

Bonjour,
je suis débutant en ajax avec très peu de connaissance javascript

j'ai une table mysql "ma_table" avec un champ "id" value=1 et un champ "status" value=0
j'aimerai savoir si quelqu'un peut m'écrire un petit script ajax qui vérifie en permanence si la valeur du champ statut est passé à 1
et dans ce cas affiche le message "Le champ à changer" sans actualiser la page

J'ai essayer de chercher sur le forum et ailleurs mais n'ayant aucune connaissance javascript, je n'ai pas su trouver ne sachant pas vraiment quel critère utiliser
Je vous remercie d'avance
Esmea est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h52   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 127
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 127
Points : 7 271
Points : 7 271
Bonjour et Bienvenue sur Developpez .

Je te conseille de lire ce tutoriel. Dans le onreadystatechange, tu testes si le champ est à un 1 à 0 et relance la requête si le champ n'est pas encore modifié.

Exemple:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function go(){
		var xhr = getXhr()
		xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			if("0"==xhr.responseText){
				go();
			}else{
				 //tu mets à jour la page.
			}
		     }
		}
		 xhr.open("GET","ajax.php",true);
		 xhr.send(null);
	 }
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h24   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 3
Points : 1
Points : 1
ok merci beaucoup^^
vais essayer cela
Esmea est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2010, 12h03   #4
Invité de passage
 
Inscription : novembre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 3
Points : 1
Points : 1
Je reviens vers vous
J'ai essayé d'appliquer ce qui a été dit plus haut
mais ça ne fonctionne pas (je suppose que je suis vraiment pas doué en javascript/ajax

Voici le contenu de ma page test.php (la page ou se trouve le bouton qui declenche la verification et qui doit afficher:" le chiffre a changé" dans un div lorsque champ1 passera de la valeur 0 à la valeur 1).

Code :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<html>
<head><script type='text/JavaScript'>
 
	 		function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr
			}
 
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(){
		        var xhr = getXhr()
		        xhr.onreadystatechange = function(){
		        if(xhr.readyState == 4 && xhr.status == 200){
			if("0"==xhr.responseText){
				go();
			}else{
			document.getElementById('Info').innerHTML =  = 'le chiffre a changé';
 
 
			}
		        }
	                }
		        xhr.open("GET","ajax.php",true);
		        xhr.send(null);
	                }
 
</script>
</head>
<body>
<form method="post" action="test.php">
<p><input type="button" value="verifier" onclick="go()" /></p>
</form>
<div id="Info"></div>
</body>
</html>
et ici le contenu de ma page ajax.php:

Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
 include("connect.php");
 
//champ 1 contient la valeur 0
$query= mysql_query("select champ1 from table where id='1' limit 1");
   $g=mysql_fetch_array($query);
   echo $g['champ1'];
 
 ?>
connect.php me permet comme son nom l'indique de me connecter à la bdd

lorsque je modifie la valeur champ 1 rien ne se passe sur la page test (qui devrait afficher alors de maniere asynchrone "le chiffre à changé")
vous pourriez me corriger?

edit:

j'ai trouvé mon erreur

document.getElementById('Info').innerHTML = = 'le chiffre a changé';

au lieu de
document.getElementById('Info').innerHTML = 'le chiffre a changé';

merci pour tout
Esmea est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h41.


 
 
 
 
Partenaires

Hébergement Web