Php 提前一周从数据库获取事件

Php 提前一周从数据库获取事件,php,mysql,database,datetime,Php,Mysql,Database,Datetime,我目前正在开发一个体育网站,其中的一个网页与即将到来的装置,其中用户将能够了解什么球队和球队在哪里打他们的下一场比赛 我有一个包含以下字段的数据库 身份证 组号 反对党 地点 日期 见面时间 匹配类型 因此,从数据库中提取的一行数据和打印可能如下所示 ID=>[1]球队编号=>[1]对手=>[YORKSHIRE]场地=>[HOME]日期=>[2009/4/25]比赛时间=>[13.00]比赛类型=>[CUP] 我的问题是,我无法根据当前日期确定如何显示下一场比赛,因此,例如,现在我希望该网站

我目前正在开发一个体育网站,其中的一个网页与即将到来的装置,其中用户将能够了解什么球队和球队在哪里打他们的下一场比赛

我有一个包含以下字段的数据库

  • 身份证
  • 组号
  • 反对党
  • 地点
  • 日期
  • 见面时间
  • 匹配类型
因此,从数据库中提取的一行数据和打印可能如下所示

ID=>[1]球队编号=>[1]对手=>[YORKSHIRE]场地=>[HOME]日期=>[2009/4/25]比赛时间=>[13.00]比赛类型=>[CUP]

我的问题是,我无法根据当前日期确定如何显示下一场比赛,因此,例如,现在我希望该网站显示2009年4月25日这一周将发生的所有比赛,然后在比赛结束后显示下周末的赛程


希望这是有意义的,有人能告诉我如何解决这个问题。

您可以获取系统日期(在Oracle中使用
sysdate
),然后添加到其中,因此请查找
date=sysdate+7
的所有记录。您可能需要稍微处理一下,格式化日期,以便
sysdate+7
返回一个没有时间的日期,但这基本上是您需要的

编辑:

如果你想从现在起到一周后举办比赛(如果比赛只在周末举行,那么这将返回下周末的比赛),你会怎么做

DATE>sysdate和为xxx团队获取下一个匹配的日期
如果比赛只在周末进行(这似乎是你问题中的一个假设),我怀疑这就是你真正想要的
今天+7天与下周末不一样,除非今天正好是比赛当天

select * from my_events where date between now() and date_add(now(), interval 7 day);

我认为应该这样做。

对于MySQL,请查看函数。您可以使用和的组合来实现所需的功能。

您的描述非常古怪,但请尝试以下内容:

SELECT all_fields_you_need
FROM table_name
WHERE `DATE` > CURDATE() AND `DATE` <= DATE_ADD(CURDATE(), INTERVAL 7 DAY)
ORDER BY `DATE` ASC
选择所需的所有字段
从表\u名称

其中,`DATE`>CURDATE()和`DATE`不完全依赖MySQL,还可以使用PHP的strotime()函数:

$query = "select * from my_events where date between now() and ".
date("Y-m-d", strtotime("+1 week"));

考虑到您没有将查询限制在周末,这也不会这样做。打得好。我知道,但我认为有一个假设,比赛只在周末进行。
SELECT all_fields_you_need
FROM table_name
WHERE `DATE` > CURDATE() AND `DATE` <= DATE_ADD(CURDATE(), INTERVAL 7 DAY)
ORDER BY `DATE` ASC
$query = "select * from my_events where date between now() and ".
date("Y-m-d", strtotime("+1 week"));