moo tools temps réel

Invité
Invité n'ayant pas de compte PHPfrance

07 sept. 2009, 18:02

Bonjour à tous,

j'utilise mootools 1.1 pour manipuler des données sql.
Je recherche plus une explication de mécanisme qu'un code tout prêt.

J'ai une table sql représentant une boite de réception.
Dans cette table chaque enregistrement est 1 email avec un statut. Le statut de l'email peut être 0 (email non lu) ou 1 (email lu).

Ce que j'ai déjà fait
- les requetes sql qui permettent de changer le statut d'un message.
- l'interface html/javascript qui permet d'afficher une liste de message avec le statut 0 ou 1

Ce que je voudrais faire avec javascript/mootools:
Faire clignoter un message dans la liste des messages, dès que son statut change.
Tout cela sans rechargement de page.

Savez vous comment cela pourrait être faisable avec mootools/ js?

Est-il par exemple possible de surveiller en permanence l'état (le champ) d'un enregistrement sql sans rechargement de page?

Merci pour vos réponses.

ViPHP
ViPHP | 1136 Messages

07 sept. 2009, 19:01

Salut ,

Il n'y a pas de "temps reel" possible avec php !

En effet , le principe en gros , est : 1 requête , 1 réponse . fin de la connexion .
Il n'y a donc pas de connexion permanente qui écoute quelque chose .

Tu peux trouver ce genre de fonctionnement à partir du moment ou tu peux faire tourner un thread ou un process qui ne se coupe jamais et qui surveille ce que tu lui dis de surveiller ( enfin jusqu'à ce que tu romps la connexion ) au niveau du serveur .

La seule chose que tu puisse faire , c'est rafraichir ton div contenant la liste de tes mails , automatiquement toutes les x secondes .. ( ce n'est pas ta page qui se recharge , mais uniquement le contenu de ton div ).

Avec java , il doit être possible de faire ce genre de chose ..

Ch.

Invité
Invité n'ayant pas de compte PHPfrance

07 sept. 2009, 19:46

je n'avais pas pensé au rafraichissement du div, ça me suffira largement. merci bcp.

ViPHP
ViPHP | 4039 Messages

08 sept. 2009, 09:58

Tu peux simuler ce comportement en gardant un timer JS qui va regarder toutes les X secondes si des données ont étées modifiées, et les recharge au cas ou (un appel json vers une page php, par exemple).


Ou alors, en beaucoup plus poussé, tu peux faire du long polling (ou comet) pour garder sans arrêt une connexion ouverte, pour que dés que quelque chose change côté serveur le serveur puisse avertir le client de son nouvel état. Mais la on attaque vraiment du gros :twisted:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.