我有一个包含一堆行的数据库。其中一列是“日期”,其中每一行都有一个日期,格式为:MM/DD/YYYY H:MM PM/AM
如何编写 PHP 来选择日期是已过去的最近日期的行。这意味着如果您有明天的日期、今天的日期和昨天的日期,它会选择昨天日期所在的行。
我已经连接到数据库:
mysql_connect('localhost','username','pass');
mysql_select_db('db_name');
我如何编写查询来获取它?
我会使用以下查询的变体在 SQL 而不是 PHP 中进行过滤:
SELECT *
FROM myTable
WHERE theDate < CURDATE()
ORDER BY theDate DESC
LIMIT 1
这将选择过去的所有行 ( theDate < CURDATE()
),按时间倒序对它们进行排序 ( ORDER BY theDate DESC
),然后获取第一条记录 ( LIMIT 1
)。
查询数据库时,ORDER BY date DESC LIMIT 1
这只会返回最近的结果,因此是最接近当前日期的结果。(这仅在您不输入未来日期的条目时才有效)