获取在特定日期之前添加的任何行

时间:2011-04-09 09:59:23

标签: php mysql strtotime

这可能吗?我用它来将日期插入名为“date”的字段中:

$date=date("m/d/y");
$sql="INSERT INTO pool (date) VALUES('$date' )";
$result=mysql_query($sql);

我用这句话来获取一周前的日期:

$variable = date('d-m-y', strtotime('-1 week'));

那么我如何选择上周添加的任何行?

2 个答案:

答案 0 :(得分:3)

不应将日期存储为m/d/y,而应将其存储为Y-m-d:

$date=date("Y-m-d");
$sql="INSERT INTO pool (date) VALUES('$date' )";

在数据库中,您的日期将显示为2011-04-09


这种格式更容易使用:字母比较将起作用。

这意味着搜索超过特定日期的行将变为如下所示:

$variable = date('Y-m-d', strtotime('-1 week'));
$query = "select * from pool where date < '$variable'";


另请注意,您可以使用DATE列来使用date and time functions列,而不是使用数据库中varchar(或等效值)的date字段。在MySQL中。

答案 1 :(得分:1)

如果日期字段是正确的日期类型,则可以执行&lt;或者&gt;在你的SQL查询中。例如 -

SELECT * FROM table WHERE date > '$date'

如果您想要从1周前到现在的所有内容,您可以执行上述操作或

SELECT * FROM table WHERE date BETWEEN '$date' AND NOW()