[RESOLU] affiche un article durant 5 jours

Eléphant du PHP | 258 Messages

25 oct. 2012, 15:23

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
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 oct. 2012, 19:18

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à :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 258 Messages

26 oct. 2012, 10:41

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
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 258 Messages

26 oct. 2012, 10:48

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
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver