Requête SQL avec timestamp

Fermé
vegadod - 1 mai 2011 à 18:26
hervé56 Messages postés 268 Date d'inscription lundi 15 novembre 2010 Statut Membre Dernière intervention 25 mars 2017 - 1 mai 2011 à 22:48
Bonjour,

J'ai besoin de détecter l'inactivité d'un membre. Ainsi, lorsqu'il se connecte, le timestamp est enregistré dans la Base De Données.
Si la différence entre le timestamp actuel et ce timestamp de connexion est supérieur à 5 minutes, alors je met à jour la BDD.

Bref, voici le code qui gère cela :
$temps_actuel = time();
$requete = mysql_query("UPDATE membres SET connecte='-1', temps_connexion='0' WHERE temps_connexion<'".$temps_actuel."'-3590")or die(mysql_error());

Le problème, c'est qu'il ne fonctionne pas du tout, et j'aimerai vraiment savoir pourquoi :o
Pourriez-vous m'aider ?

Merci d'avance.
PS : alors là, vous allez me dire "mais même s'il est connecté et qu'il reste sans rien faire pendant 5 minutes, ce code va le penser déconnecté !". Oui, mais j'ai pensé à coder un script JS qui empêche cela.

2 réponses

Lumpy-Rock Messages postés 68 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 19 juillet 2014 1
1 mai 2011 à 20:05
Bonjour :)

J'ai déjà fait un script pour voir ceux qui sont connectés. L'erreur est dans ta requête :
$requete = mysql_query("UPDATE membres SET connecte='-1', temps_connexion='0' WHERE temps_connexion<'".$temps_actuel."'-3590")or die(mysql_error());


Elle est très longue, alors tu peux faire un peu plus clair en mettant la requête dans une variable. Et, comme l'a dit hervé56, tu as une erreur dans la concaténation avec ta variable. Essaie comme ça :
$requet = "UPDATE membres SET connecte='-1', temps_connexion='0' WHERE temps_connexion<'$temps_actuel -3590'";
$requete = mysql_query($requet)or die(mysql_error());
1
hervé56 Messages postés 268 Date d'inscription lundi 15 novembre 2010 Statut Membre Dernière intervention 25 mars 2017 10
1 mai 2011 à 22:48
c'est déja mieux en effet =)
0
hervé56 Messages postés 268 Date d'inscription lundi 15 novembre 2010 Statut Membre Dernière intervention 25 mars 2017 10
1 mai 2011 à 18:53
c'est ca qui n'est pas tres beau :

..'".$temps_actuel."'-3590"...
0