pb récupération de données de date

wik
Eléphanteau du PHP | 29 Messages

15 août 2009, 12:08

Bonjour,

j'ai une table sql dans laquelle j'insère des dates définies, que voici.

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `news_gigs` ( `gigs_id` int(11) NOT NULL auto_increment, `gigs_band` varchar(100) collate latin1_general_ci NOT NULL, `gigs_date` date NOT NULL, `gigs_lieu` varchar(100) collate latin1_general_ci NOT NULL, PRIMARY KEY (`gigs_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ;
Je cherche à connaître le nb d'enregistrements dont la date est supérieure ou égale à la date du jour... Ci-dessous :

Code : Tout sélectionner

SELECT COUNT(*) AS val FROM news_gigs WHERE gigs_date >= now();
J'ai 2 enregistrements : 1 à la date d'aujourd'hui et l'autre à la date de demain, et il ne me ressort que celui à la date de demain...
J'ai fait le test avec uniquement la date du jour, et il ressort "0" enregistrement...

Quelqu'un peut m'expliquer ? Cette requête me paraissait si simple !!!
Merci d'avance.

PS : j'ai aussi essayé avec date( "Y-m-d" ); et même résultat...

wik
Eléphanteau du PHP | 29 Messages

15 août 2009, 12:26

J'ai fini par trouver...
Il faut en fait utiliser la fonction CURDATE() au lieu de now()

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 août 2009, 15:33

J'ai fini par trouver...
Il faut en fait utiliser la fonction CURDATE() au lieu de now()
C'est parceque CURDATE() te renvoie une date (année-mois-jour) et NOW la date et l'heure :)