我想使用PHP过滤我的结果,只显示今天插入的表格中的数据。格式如下:
表date
中的列daily
格式为2013-01-06 17:36:11
。如何使用PHP过滤查询以仅在今天的日期显示查询?
答案 0 :(得分:2)
WHERE DATE(`date`) = DATE(NOW())
答案 1 :(得分:1)
在sql查询的 where子句中进行更好的练习。扩展Madara Uchiha的答案:如果您使用MySQL,您的查询将类似于:
SELECT * FROM daily WHERE DATE(`date`) = DATE(NOW()).
如果您必须在PHP中执行任何奇怪的原因,我不建议,您必须循环查询结果并比较每个数据库行的日期字段,今天的日期为PHP。
//setup the array our filtered results will go in
$filteredResults = array();
//get the timestamp for 12:00:00am and 11:59:59pm today
$greaterThanThisTime = mktime(0,0,0,date('n'),date('j'),date('Y'));
$lessThanThisTime = mktime(23,59,59,date('n'),date('j'),date('Y'));
//loop the database results
foreach($dbResults as $i=>$row) {
$rowTimeStamp = strtotime($row['date']);
if($rowTimeStamp>=$greaterThanThisTime && $rowTimeStamp<=$lessThanThisTime) {
$filteredResults[] = $row;
}
}
//continue to do whatever you need, using $filteredResults as your results