Page 1 sur 1

affiche un article durant 5 jours

Posté : 25 oct. 2012, 15:23
par Cypher_PHP
bonjour

je voudrais afficher un match pendant 5 jours à partir de la date de publication
par exemple, l'article est publié le 21/10/2012 donc si je suis bon en calcul, le match aura disparu demain soir à minuit.

voici mon code sql
SELECT * FROM matches WHERE TO_DAYS(CURRENT_DATE()) - TO_DAYS(date_debut) <=5
mais ma requête affiche mes prochains match jusqu'à l'année prochaine.

où est l'erreur? ou bien j'ai mal construit cette requête ?

merci beaucoup de votre aide

Re: affiche un article durant 5 jours

Posté : 25 oct. 2012, 19:18
par Ryle
Le problème de ta requête, c'est qu'elle prend en compte également tous les matchs à venir, car la différence de nombre de jours est négatif, et est donc bien inférieur à 5.

Tu pourrais éventuellement ajouter un condition pour dire que ta requête ne retourne que les enregistrements pour lesquels ta date_debut est supérieure à la date du jour, en plus du critère que tu as déjà :)

Re: affiche un article durant 5 jours

Posté : 26 oct. 2012, 10:41
par Cypher_PHP
Ah je vois

j'ai trouvé une autre méthode beaucoup plus simple mais il y a une faute de syntaxe
SELECT * FROM matches WHERE date_debut BETWEEN (CURRENT_DATE - 5 DAY) AND CURRENT_DATE

Re: affiche un article durant 5 jours

Posté : 26 oct. 2012, 10:48
par Cypher_PHP
C'est bon
j'ai trouvé
SELECT * FROM matches WHERE date_debut BETWEEN DATE_ADD(CURRENT_DATE, INTERVAL - 5 DAY) AND CURRENT_DATE
merci à tous