1

J'utilise les requetes Mysql suivantes en Php pour virer les utilisateurs dont le temps de connexion autorise est expire.

requete pour voir le temps ecoule depuis le dernier click sur un lien
1 - const USER_EXPIRED = 'SELECT user.pseudo, TIME_TO_SEC(TIMEDIFF(CURRENT_TIMESTAMP(),login.timeUpdate)) AS ellapse FROM user,login 
WHERE user.id=login.idUser';


requete de suppression des utilisateurs expire
2 - const USER_AUTO_LOGOUT = 'DELETE FROM login 
WHERE  TIME_TO_SEC(TIMEDIFF(CURRENT_TIMESTAMP(),login.timeUpdate)) >= %expired%';




J'ai remarque que dans ma 1ere requete ellapse est retourne comme une chaine, du coup ma 2 eme requete compare 1 nombre et une chaine.

Y a-t-il moyen de definir le type d'un champ calcule ou d'effectuer ce calcul plus simplement ?

2

pour les dates j'ai toujours utilisé un int(4) avec un timestamp unix (nb de secondes depuis 70).

au moins c'est plus simple:

<?php
$now=time();
$delay=86400; //1 jour
query("delete from login where timeUpdate<$now-$delay");
?>

3

Ok, merci, je vais essayer ca