我正在构建一个博客页面。但我开始在存档部分遇到困难。
我在 mysql 中有一些带有时间戳的注释:
$timestamp = strtotime($month . " " . $date . " " . $year . " " . $time);
现在,如果我有一个链接:blog.php?Month=Febuary&Year=2012
如何在 SQL 查询中使用这两个参数来检索该月和该年的所有记录?
谢谢,
本
最佳答案
编辑:将它们更改为使用 UNIX 时间戳...
不需要strtotime()
按月、年查询。相反,你可以这样做:
SELECT *
FROM blogtbl
WHERE
YEAR(FROM_UNIXTIME(postdate)) = 2012
AND UPPER(MONTHNAME(FROM_UNIXTIME(postdate))) = 'FEBRUARY'
也可以用 DATE_FORMAT()
来完成
SELECT *
FROM blogtbl
WHERE
UPPER(DATE_FORMAT(FROM_UNIXTIME(postdate), '%M %Y')) = 'FEBRUARY 2012'
注意我使用UPPER()
将查询转换为大写,只是为了更容易传入大小写不可预测的 PHP 变量。
我们假设您已经知道如何通过 $_GET['Month'], $_GET['Year']
从 PHP 中的查询字符串中检索月份和年份。并正确转义它们以插入到您的查询中。
关于PHP、Mysql 从 strtotime 按月获取存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353285/