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



这可能吗?我用它将日期插入到一个名为"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'));

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

与其将日期存储为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'";


还请注意,不是使用数据库中的varchar(或等效)date字段,而是使用 DATE 列——这将允许在MySQL中使用日期和时间函数。

如果日期字段是合适的日期类型,则可以执行<或>在您的SQL查询。例如-

SELECT * FROM table WHERE date > '$date'

如果你想要从一周前到现在的所有内容,你可以像上面那样做或

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

相关内容

  • 没有找到相关文章

最新更新