Fonction NOW ()

Eléphant du PHP | 287 Messages

12 févr. 2010, 16:19

Bonjour à tous
Je n'arrive pas à afficher des éléments de ma BDD qui font appel à la date
J'affiche des éléments qui sont supérieurs à la date du jour, mais pas ceux qui sont 'égal' à cette date.
Voila mon code
SELECT DISTINCT * FROM promotion WHERE date_fin_promo > NOW()
J'ai testé avec => >=, rien à faire ça ne retourne aucun élément.
Merci de votre aide

ViPHP
ViPHP | 5462 Messages

12 févr. 2010, 16:23

et si tu fais :
SELECT DISTINCT * FROM promotion WHERE DATE(date_fin_promo) > NOW()

Eléphant du PHP | 287 Messages

12 févr. 2010, 16:28

Cette fonction-ci est ok
SELECT DISTINCT * FROM promotion WHERE date_fin_promo > NOW()

Par contre si je veux afficher un élément se terminant aujourd'hui, 12 février 2010, je rajoute un '='.
Enfin c'est ce que je croyez.

ViPHP
ViPHP | 5462 Messages

12 févr. 2010, 16:35

Par contre si je veux afficher un élément se terminant aujourd'hui, 12 février 2010, je rajoute un '='.
Enfin c'est ce que je croyez.
non parce que c'est pas le même timestamp
2010-02-12 != 2010-02-12 15:35:30

il faut utiliser CURDATE() dans se cas la
2010-02-12 == 2010-02-12

Eléphant du PHP | 287 Messages

12 févr. 2010, 16:45

J'ai déjà testé CURDATE ()
Ca fait la même chose, rien

ViPHP
ViPHP | 5462 Messages

12 févr. 2010, 16:54

et tes date son en quel format (date, varchar) ?

Eléphant du PHP | 86 Messages

12 févr. 2010, 16:55

Salut,

Tu peux utiliser la fonction date_format de mysql pour formater ta date comme tu le souhaites afin d'effectuer la comparaison

Eléphant du PHP | 287 Messages

12 févr. 2010, 16:56

Problème résolu avec cette requête :
select * from promotion where date_fin_promo >= curdate();
Merci de votrea ide