2014-01-28 33 views
0

我试图找到落在2日期之间的记录。我的日期设置为2个php变量,今天的日期,然后是今天的8周。当两个变量在同一年内时,该代码起作用,但是当日期落在前一年时,没有找到结果;即$ today = 2014年1月28日,$ lastmonth = 2013年12月3日。当我查看日期结果时,这些变量似乎正确计算。是什么导致了这个问题?MYSQL不返回日期之间的结果是在不同的年份

<?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

,你可以创建一个这样

SELECT * 
FROM products 
WHERE dated_release BETWEEN NOW() 
    AND DATE_ADD(NOW(), INTERVAL -8 WEEK); 
一个简单的查询
相关问题