Ajax utilisateur en temp réel

Fermé
Profil bloqué - 6 déc. 2010 à 18:36
 Profil bloqué - 17 janv. 2011 à 02:28
Bonjour,
Sur mon site quand un utilisateur ce logue il est inscrit dans ma base de donnée qu'il est en ligne grace a une valeur online , 'ON' pour en ligne et 'OFF' pour deconnecter.
maintenant je voudrais avoir sur une page ,la liste des utilisateur connecter :

<?php
$db = mysql_connect('localhost', 'toto', 'toto');
mysql_select_db('toto',$db);

$sql = "
select *
from login
WHERE online='ON'
;";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo '<table border=0 />' ;
echo '<TR>' ;
echo '<TD>'.$data['nom'].'</TD>' ;
echo '</TR>' ;
echo '</table>' ;
}
?>
maintenant je voudrai pouvoir afficher les utilisateurs en temp réel.je pourrai faire actualiser la page mais bon ...

je sais qu'il faudrais utiliser AJAX ...

pouvez vous m'aider ...?


A voir également:

3 réponses

C'est avec plaisir que je me propose de t'aider. Alors tu as trouvé juste, il te faut utiliser Ajax, on va donc utiliser Jquery.
c'est une bibliothèque javascript que tu peux télécharger ici http://code.jquery.com/jquery-1.4.4.min.js .

Ensuite suis cet exemple (je considère que ton fichier jquery et tes pages sont dans le même repertoire). Tu aurras besoin de 2 pages (index.php et updater.php)

///////////// la page index.php /////////////////////////////

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>

<div id="online" >
//c'est ici que s'affichera la liste des connectés
</div>

<script type="text/javascript">
<!--
//cette fonction met à jour la liste (en cas de succès le résultat est affiché dans le bloc dont l'id=online )

function krakUpdate()
{
$.ajax({
type: 'GET',
url: 'updater.php',
success: function(data){$('#online').html(data);}
});

}

// tu lances l'exécution de la fonction chaque 3 secondes (1s=1000)
$('document').ready(function(){
setInterval('krakUpdate();',3000);
});
-->
</script>
</body>
</html>


///////////// la page updater.php /////////////////////////////

c'est le code php que tu as écris au dessus et que voici:


<?php
$db = mysql_connect('localhost', 'toto', 'toto');
mysql_select_db('toto',$db);

$sql = "
select *
from login
WHERE online='ON'
;";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo '<table border=0 />' ;
echo '<TR>' ;
echo '<TD>'.$data['nom'].'</TD>' ;
echo '</TR>' ;
echo '</table>' ;
}
?>

Bon, je pense que c'est ok, néanmoins puisque je l'ai pas tester, tu peux me contacter sur mon site si tu rencontre des problèmes. ( http://www.kraktechnologie.westafhost.0lx.net/index.php )
2
MErci grandement Krak (armand ?) :)
cela fonctionne :D j'ai juste une peti soucis ,j'essaie d'afficher le resultat sur une autre page , bien sur avec php <?php include "jquery/index.php" ; ?> est rien se s'affiche ?

je suis aussi moi meme developpeur web :Publicité supprimée Modération CCM si on peu fr un partenariat je serai enchanté :)
0
Profil bloqué
17 janv. 2011 à 02:28
j'ai essayer que la requete soi par rapport a une valeur mais aucun succés par exemple ,je ve en live une personne en particulier , par exemple je recupere la valeur de la personne par GET
$live = $_GET['id] ;
est dans mon updater je fai : select * from client where client='$live' ;
je ni arrive pa !
0
Bonjour,

Moi j'utilise la librairie Prototype pour faire appel à Ajax.
Regarde du côté de Ajax.PeriodicalUpdater qui est une fonction prédéfinie de Prototype et qui correspond à ce que tu as besoin de faire.
0
Photomb Messages postés 1 Date d'inscription mercredi 29 décembre 2010 Statut Membre Dernière intervention 29 décembre 2010
29 déc. 2010 à 11:11
Bonjour,
Merci à Krak225 pour ce superbe script ajax avec jquery. Je me suis permis de l'utiliser t il marche parfaitement bien. J'aurai juste une question à ce sujet : serait-il possible d'actualiser plusieurs pages en même temps avec ce script ?
Merci :)
0