Page 1 sur 1

Problème de date

Posté : 19 oct. 2009, 10:34
par blasil64
Bonjour,
J'ai une requête qui consiste à afficher ce que j'ai dans ma table 'films' qui a une date de sortie prévu dans 3 semaine par exemple. Voici ma requête :
$sql = "SELECT 'mes_champs' FROM `ma_table` WHERE  WEEK(date_***) = WEEK(DATE_ADD(CURDATE(),INTERVAL 3 WEEK)) ORDER BY `date_***` DESC LIMIT 5";
Le problème est que pour le moment je n'ai rien qui sort dans 3 semaines, et elle m'affiche les sorties qu'il y a dans trois semaines, mais de l'année 2008... Alors que moi je veux bien sur de l'année en cours (2009), en sachant qu'arrivé au mois de décembre, fin décembre, il faudra que cette requête intervienne sur dans 3 semaine de l'année 2010...

Merci pour votre aide !

Re: Problème de date

Posté : 19 oct. 2009, 10:38
par sylvaing26
Regarde du coté de la fonction
mk_time()
http://fr.php.net/manual/fr/function.mktime.php

Re: Problème de date

Posté : 19 oct. 2009, 11:07
par fab
Tu pourrais utiliser YEAR() ? Mais tu vas te retrouver dans des situations assez chiante au niveau du changement d'année le mieux Mais comme le dit sylvaing vaut mieux comparé autrement regarde les timestamp unix :)

Re: Problème de date

Posté : 07 nov. 2009, 00:08
par blasil64
Bonsoir,
j'ai repris mon problème, et j'ai testé avec vos fonctions, mais au final, j'ai adopté ce code :
Je récupère l'année en cours :
$today = getdate();
$year = $today['year'];
Ensuite, je prends aussi l'année suivante pour les cas où l'on sera le 25 décembre (me tarde noël... :D ) :
$year_up = $year + 1;
Ensuite, la requête qui permet d'afficher tous mes films de l'année courante ainsi que l'année suivante :
$sql = "SELECT 'mes_champs' FROM `ma_table` WHERE  WEEK(date_***) = WEEK(DATE_ADD(CURDATE(),INTERVAL 3 WEEK))AND (`date_***` LIKE '$year%' OR `date_*** LIKE '$year_up%') ORDER BY `date_***` DESC LIMIT 5";
Merci pour votre aide !