Page 1 sur 1

requete mysql Dernier jour TIMESTAMP

Posté : 08 févr. 2016, 11:03
par crustyourmind
Bsr
J'ai une table mysql qui contient des champs avec des valeurs TIMESTAMP dans un champ nommé last_post (exemple de valeur (1432977441).

Je voudrais faire une requête sur ces champs pour ne garder que ceux de la journée en cours (derniers 24h).


J'ai essayé cela, mais ça ne passe pas.

Code : Tout sélectionner

$query = 'SELECT * FROM pedalterntopics WHERE (`last_post` > DATE_SUB(now(), INTERVAL 1 DAY)';
Auriez vous une idée ?
Merci :-)

Re: requete mysql Dernier jour TIMESTAMP

Posté : 08 févr. 2016, 13:39
par ynx
Salut,

Ta requête semble pourtant correcte et devrait bien fonctionner. Es-tu sur qu'il existe bien des données correspondantes ?
Tu peux essayer cette requête mais c'est sensé être équivalent :
SELECT * FROM pedalterntopics WHERE last_post > (CURRENT_TIMESTAMP - INTERVAL 1 DAY)
Bonne journée

Re: requete mysql Dernier jour TIMESTAMP

Posté : 08 févr. 2016, 21:58
par crustyourmind
Merci pour la réponse,
je ne comprends pas ça ne passe pas.
Voici un extrait de ma table

et ma requête :

Code : Tout sélectionner

$query = 'SELECT * FROM pedalterntopics WHERE (`last_post` > DATE_SUB(now(), INTERVAL 100 DAY)';

Code : Tout sélectionner

INSERT INTO `pedalterntopics` (`id`, `poster`, `subject`, `posted`, `first_post_id`, `last_post`, `last_post_id`, `last_poster`, `num_views`, `num_replies`, `closed`, `sticky`, `moved_to`, `forum_id`) VALUES ..... (82, 'Cyrille', '[PRET] Nos titres disponilbles en prêt', 1453098507, 222, 1453135196, 223, 'Cyrille', 85, 1, 0, 1, NULL, 3), (83, 'Pierric', 'Journal scolaire et règlementation.', 1453141850, 227, 1453148409, 229, 'Cyrille', 53, 2, 0, 0, NULL, 3), (84, 'Cyrille', 'Mars 2016 : définir l''ordre du jour', 1453233149, 230, 1454786695, 307, 'Cyrille', 268, 30, 0, 0, NULL, 9), (85, 'Cyrille', 'Cède des BT', 1453656864, 235, 1453926665, 264, 'Pierric', 66, 6, 0, 0, NULL, 3), (86, 'Cyrille', 'Mes plans de travail en CE1/CE2', 1453808500, 239, 1453998913, 271, 'Cyrille', 79, 5, 0, 0, NULL, 6), (87, 'Pierric', 'Pink floyd, le film!', 1453931909, 269, 1453931909, 269, 'Pierric', 33, 0, 0, 0, NULL, 11), (88, 'Pierric', 'Le journal scolaire', 1454020740, 276, 1454020740, 276, 'Pierric', 21, 0, 0, 0, NULL, 12), (89, 'Cyrille', 'Installer un serveur Calculatice en local', 1454261260, 279, 1454261260, 279, 'Cyrille', 16, 0, 0, 1, NULL, 3), (90, 'Cyrille', 'Rajeunir les PC des ENR avec Linux - déploiement par images', 1454263844, 280, 1454270924, 281, 'Pierric', 27, 1, 0, 1, NULL, 3), (91, 'Cyrille', 'Le Hold-up planetaire: la face cachée de Microsoft.', 1454328351, 282, 1454788070, 310, 'Cyrille', 93, 13, 0, 0, NULL, 3), (94, 'Cyrille', 'Exemple d''une matinée dans le cadre d''un projet à long terme', 1454695596, 298, 1454785432, 301, 'Pierric', 32, 2, 0, 0, NULL, 6), (93, 'Cyrille', 'Exemple d''un projet d''un jour', 1454693152, 297, 1454693152, 297, 'Cyrille', 8, 0, 0, 0, NULL, 6);
ça devrait retourner quelque chose non ? Là j'ai toujours aucun enregistrement trouvé.

?

Re: requete mysql Dernier jour TIMESTAMP

Posté : 08 févr. 2016, 21:58
par crustyourmind
j'ai mis -100 DAY pour être sûr d'avoir des résultats...

Re: requete mysql Dernier jour TIMESTAMP

Posté : 08 févr. 2016, 22:00
par crustyourmind
le type de champs est un int(10), ça peut peut être aidé ?

Re: requete mysql Dernier jour TIMESTAMP

Posté : 09 févr. 2016, 00:00
par yann18
le type de champs est un int(10), ça peut peut être aidé ?
tu ne peux pas comparer le type INT au type Date.Pour comparer ces 2 types, il faut convertir la date stockée en bd en type DATETIME :
$query = 'SELECT * FROM pedalterntopics WHERE FROM_UNIXTIME(last_post ) > DATE_SUB(now(), INTERVAL 1 DAY)';

[RESOLU] requete mysql Dernier jour TIMESTAMP

Posté : 09 févr. 2016, 12:37
par crustyourmind
Impecc. Merci beaucoup, ça fonctionne. ++ ;-)

Re: [RESOLU] requete mysql Dernier jour TIMESTAMP

Posté : 09 févr. 2016, 15:38
par @rthur
Impecc. Merci beaucoup, ça fonctionne. ++ ;-)
Bonjour,

Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton "Résolu" situé en haut de la page.

Re: requete mysql Dernier jour TIMESTAMP

Posté : 09 févr. 2016, 15:57
par crustyourmind
OK j'avais pas vu le bouton, je le cherchais en bas... du coup j'avais mis RESOLU dans le titre, je le fais de suite. Merci ;-)