我正在尝试查找介于两个日期之间的记录。我的日期设置为2个php变量,今天的日期,然后是今天的8周。当2个变量在同一年内时,代码有效,但当日期落在前一年时,没有找到结果;即$ today = 2014年1月28日和$ lastmonth = 2013年12月3日。当我查看日期结果时,变量似乎正在正确计算。是什么导致了这个问题?
<?php
$today = date('Y-m-d');
$lastmonth = date('Y-m-d', strtotime('-8 week', strtotime($today)));
$sql = mysql_query("SELECT * FROM products WHERE dated_release BETWEEN '$lastmonth' AND '$today' ORDER BY code");
$existCount = mysql_num_rows($sql); // count the row nums
if ($existCount > 0) { // evaluate the count and build display
// more code
?>
表中的dated_release字段已设置为日期字段。这是我第一个使用php和mysql的网站。
答案 0 :(得分:0)
你可以像这样创建一个简单的查询
SELECT *
FROM products
WHERE dated_release BETWEEN NOW()
AND DATE_ADD(NOW(), INTERVAL -8 WEEK);