-1

好的,我在我的 SQL 数据库中使用这个结构:

id  |  title  |   date_start   |   date_end|  time_start   |   time_end   |   location   |

我想对该表中的数据进行排序,但只对即将到来的日期或当前发生的日期进行排序。

我在 php 中使用了以下查询:

$query = mysql_query("SELECT * FROM events3 ORDER BY date_start DESC LIMIT 5");

然后在查询之后我获取了结果,然后像这样回应它们:

http://pastebin.com/5wS7npsr

这会将数据库中仅有的两个日期显示为:

ID:   2
Title:   New Years Eve
Date Start:   2012-12-31 - 2012-12-31
Time Frame:   12:00:00 - 12:00:00
Location:   Earth
Description:   The last day of 2012.


ID:   1
Title:   Christmas Day
Date Start:   2012-12-25 - 2012-12-25
Time Frame:   12:00:00 - 12:00:00
Location:   Earth
Description:   Merry Christmas!!

但我希望它在日期发生后过期,只显示下一个即将到来的。

4

1 回答 1

0

正如评论中提到的,这里有一个类似的帖子:Datetime equal or greater than today in MySQL

最终,经过一番来回,针对您的具体实现的查询结果:

SELECT * FROM events3 WHERE date_start >= CURDATE() ORDER BY date_start LIMIT 5;
于 2012-12-07T22:05:15.727 回答