[RESOLU] Afficher les sorties d'une semaine à l'autre

Eléphant du PHP | 283 Messages

01 févr. 2015, 12:08

Bonjour à tous,

Je rencontre actuellement une difficulté dans mon code dans lequel je souhaite afficher les sorties dvd de la semaine.
Par exemple si nous sommes le lundi et qu'un dvd sort le mercredi, je souhaiterais que son affichage reste sur ma page sortie de la semaine jusqu'à dimanche et qu'après, les sorties de la semaine suivante s'affiche.

J'avais trouvé un cas similaire sur un forum et voilà ce que ça m'a donné :
<?php
$getDvdQuery = $bdd->query("SELECT * FROM `dvd` WHERE date_sortie BETWEEN date_sortie AND CURRENT_DATE + INTERVAL 6-WEEKDAY(CURRENT_DATE) DAY AND date_sortie >= CURRENT_DATE");
while($getDvd = $getDvdQuery->fetch())
{	
?> 
                                 <div class="contenu">
                                    <img src="<?=$getDvd ['img']; ?>" alt="" class="img-indent" width="100" height="142">
                                    <div class="nom">
                                        <?=$getDvd['titre']; ?><br>
                                    </div>
                                </div>
<?php
}
?>
Malheureusement le code ne semble pas fonctionner correctement et je ne vois pas comment corriger ce problème.

Merci à ceux qui pourront m'aider. ;)

Mammouth du PHP | 571 Messages

01 févr. 2015, 14:12

bonjour,

Il est possible de comparer le numéro de la semaine de la date de sortie au numéro de la semaine de la date actuelle.Par exemple le numéro de la semaine de la date actuelle(2015-02-01) est 5.La fonction WEEK() de mysql renvoie le numéro de la semaine.
 $getDvdQuery = $bdd->query("SELECT * FROM `dvd` WHERE WEEK(date_sortie, 1)= WEEK(CURRENT_DATE(), 1)");

Eléphant du PHP | 283 Messages

01 févr. 2015, 14:22

Merci pour ta réponse yann18.
Par contre j'ai un léger problème, pour les sorties de cette semaine ça me sort un dvd sortie le 31 janvier 2005.

ViPHP
xTG
ViPHP | 7331 Messages

01 févr. 2015, 14:32

Il faut bien évidemment rajouter une condition sur l'année. ;)
WEEK est un numéro de semaine dans l'année.

Mammouth du PHP | 571 Messages

01 févr. 2015, 15:00

effectivement #xtg il faut ajouter l'année.
 $getDvdQuery = $bdd->query("SELECT * FROM `dvd` WHERE YEARWEEK(date_sortie, 1)= YEARWEEK(CURRENT_DATE(), 1)");

Eléphant du PHP | 283 Messages

01 févr. 2015, 17:23

D'accord merci à vous deux, ça fonctionne. ;)