0

我有一个包含一堆行的数据库。其中一列是“日期”,其中每一行都有一个日期,格式为:MM/DD/YYYY H:MM PM/AM

如何编写 PHP 来选择日期是已过去的最近日期的行。这意味着如果您有明天的日期、今天的日期和昨天的日期,它会选择昨天日期所在的行。

我已经连接到数据库:

mysql_connect('localhost','username','pass');
mysql_select_db('db_name');

我如何编写查询来获取它?

4

2 回答 2

2

我会使用以下查询的变体在 SQL 而不是 PHP 中进行过滤:

SELECT *
FROM myTable
WHERE theDate < CURDATE()
ORDER BY theDate DESC
LIMIT 1

这将选择过去的所有行 ( theDate < CURDATE()),按时间倒序对它们进行排序 ( ORDER BY theDate DESC),然后获取第一条记录 ( LIMIT 1)。

于 2012-11-04T05:56:10.700 回答
0

查询数据库时,ORDER BY date DESC LIMIT 1

这只会返回最近的结果,因此是最接近当前日期的结果。(这仅在您不输入未来日期的条目时才有效)

于 2012-11-04T05:57:04.893 回答