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