par
Sékiltoyai » 29 sept. 2007, 13:14
Tu dois stocker le temps à la connexion du membre et un autre temps à chaque actualisation.
Prenons N le temps maximal de la session, Tc le timestamp de la connexion, Ta le timestamp de la dernière actualisation, et T le timestamp actuel.
A chaque demande de page, tu récupères Tc et Ta dans ta table :
Si T - Ta > N, le membre est déconnecté, et tu fais toutes les opérations en conséquence (par exemple pour le reconnecter, tu stockes dans ta table Ta = T et Tc = T ), sinon le membre est connecté depuis le temps T - Tc , et tu stockes dans ta table Ta = T.
A chaque demande de la liste des membres, tu récupères les membres qui satisfont cette relation T - Ta <= N , et le temps de connexion est là aussi égal à T - Tc.
Voilà, il n'y a plus qu'à créer les timestamp, sachant qu'un timestamp est exprimé en secondes, pour avoir le timestamp courant en php, c'est la fonction time(), et pour mysql, c'est CURRENT_TIMESTAMP(). Si je ne me trompe, tu as tout ce qu'il te faut pour implémenter ce que tu veux faire.
Tu dois stocker le temps à la connexion du membre et un autre temps à chaque actualisation.
Prenons N le temps maximal de la session, Tc le timestamp de la connexion, Ta le timestamp de la dernière actualisation, et T le timestamp actuel.
A chaque demande de page, tu récupères Tc et Ta dans ta table :
Si T - Ta > N, le membre est déconnecté, et tu fais toutes les opérations en conséquence (par exemple pour le reconnecter, tu stockes dans ta table Ta = T et Tc = T ), sinon le membre est connecté depuis le temps T - Tc , et tu stockes dans ta table Ta = T.
A chaque demande de la liste des membres, tu récupères les membres qui satisfont cette relation T - Ta <= N , et le temps de connexion est là aussi égal à T - Tc.
Voilà, il n'y a plus qu'à créer les timestamp, sachant qu'un timestamp est exprimé en secondes, pour avoir le timestamp courant en php, c'est la fonction time(), et pour mysql, c'est CURRENT_TIMESTAMP(). Si je ne me trompe, tu as tout ce qu'il te faut pour implémenter ce que tu veux faire.