Etape 1)
sauf réelle contre-indication, il est préférable d'utiliser un champ de type
DATETIME qui à comme format : "YYYY-MM-JJ HH:mm:ss"
tu galèreras beaucoup moins pour les requêtes qu'avec tes deux champs
pour se faire, tu créer le champs date_time et tu le mets à jour avec un truc
genre :
UPDATE table set date_time=CONCAT(date," ",time)
Etape 2)
ensuite une requête du type :
SELECT * from table
where
(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(date_time)<600) /*600 secondes */
order by date_time DESC
LIMIT 0,1
devrait faire l'affaire
Navré, j'ai rien trouvé de plus élégant, je me suis battu avec :
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
TIMEDIFF() mais rien à faire
si jamais tu peux pas mettre ta table à jour, une bidouille s'approchant
devrait fonctionner à base de CONCAT pour reformer un timestamp à partir de
ton time et de ta date
> Bonsoir,
>
> Est-ce qu'un guru MySQL pourrait me dépanner ?
>
> Je cherche à faire une requète sur une base contenant des données
> horodatées par deux champs, un de type 'date', et un de type 'time'. Je
> voudrais récupérer le dernier enregistrement, à condition qu'il ne soit
> pas plus vieux qu'un certain laps de temps défini (sinon, la requète ne
> doit rien retourner).
>
> Comment faire ça simplement ?
>
> Merci d'avance.
>
> --
> Frédéric
>
> http://www.gbiloba.org
>
--
Sylvain Letuffe sylvain@???
06 72 00 22 69
jabber id : sly@???
Un email à votre nom ? c'est sur
www.gobol.org