【问题标题】:PHP and MySQL Display by date and time [closed]PHP和MySQL按日期和时间显示[关闭]
【发布时间】:2013-10-06 23:58:40
【问题描述】:

我正在寻找一种方法来按日期显示我即将发生的事件,而不显示任何过去的事件。

MySQL 表:

ID   |   Title   |   Date   |   Time
1        title1    2013-10-5    12:00
2        title2   2013-10-10    12:00
3        title3   2013-10-25    01:00
4        title4   2013-10-31    11:30

我希望它显示如下:

title2 2013-10-10
title3 2013-10-24
title4 2013-10-31

不显示任何已经过去的事件。

任何帮助将不胜感激!谢谢。

【问题讨论】:

  • 为什么使用单独的DATE 和TIME 字段而不是单个DATETIME?
  • 为什么 - 你试过什么?我们在这里帮助您修复错误或提出问题的新角度,而不是为您解决所有问题。
  • 这里的人不会拼出答案,因为您还没有发布您尝试过的内容,但您应该尝试在查询本身中执行此操作,而不是使用 PHP 函数:@ 987654322@。您需要检查日期是否早于今天的日期,时间是否早于当前时间...
  • @TheWolf - 我不知道,我只是知道。

标签: php mysql


【解决方案1】:

在不改变当前结构的情况下,您可以使用CURDATE() 和CURTIME()

SELECT
  id, title, date, time
FROM
  titles
WHERE
  date >= CURDATE() AND time >= CURTIME() 

阅读MySQL Date and Time functions

【讨论】:

  • 完美工作!谢谢。
【解决方案2】:

首先,我建议您将日期和时间一起存储在 DATETIME 字段中。然后你可以使用:

SELECT title, DATE(`datetime`) AS `date`
FROM table
WHERE `datetime` >= NOW()

(见DATE and TIME functions)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多