Ce que vous voulez demander à la base de données est chercher "tous les jeux dans les 6 prochains jours" vraiment
SELECT * FROM `games` WHERE `date` >= CURDATE()
AND `date` <= DATE_ADD(CURDATE, INTERVAL 6 DAY)
... ou vous pouvez utiliser BETWEEN
...
SELECT * FROM `games` WHERE `date`
BETWEEN CURDATE()
AND DATE_ADD(CURDATE(), INTERVAL 6 DAY)
[edit]
Après avoir travaillé sur ce que vous entendiez par "afficher le lundi" dans le titre de la question. . Vous ne voulez vraiment exécuter la requête le lundi :)
Donc, soit vous voulez seulement terme la requête le lundi (effectué au niveau de l'application) ou d'exécuter la requête avec un AND DAYOFWEEK(CURDATE()) = 2
en elle il « d être quelque chose comme
SELECT * FROM `games` WHERE `date` >= CURDATE()
AND `date` <= DATE_ADD(CURDATE, INTERVAL 6 DAY)
AND DAYOFWEEK(CURDATE()) = 2
Bien que ce soit plutôt inefficace que vous toujours exécuter la requête même s'il n'y a pas besoin de - il serait préférable d'avoir l'application ne l'exécuter le lundi.
Dans ce cas, vous êtes mieux avec la solution de drrcknlsn en utilisant l'objet DateTime
de PHP et de faire quelque chose comme (ou munging le tout dans un emploi Cron):
if(date("N") == 1) {
$oNextSaturday = new DateTime('next Saturday');
$sFetchUpcomingGames = "SELECT * FROM `games` WHERE `date` = '{$oNextSaturday->format('Y-m-d')}'";
//execute the database query and perform relevant outputs, and so on
}
Si son possible, je veux utiliser quelque chose comme temps unix peut-être, est-ce possible? Peut-être avec strtotime() ou mktime() et chercher dans un certain intervalle. – user1225840
@ user1225840: Ce n'est pas un problème du tout. Vous utiliseriez simplement [la méthode 'getTimestamp()'] (http://us3.php.net/manual/fr/datetime.gettimestamp.php), par exemple. '$ nextSaturday-> getTimestamp()'. – FtDRbwLXw6
Merci pour ça! – user1225840