-2

我想使用 PHP 过滤我的结果,以仅显示今天插入的表中的数据。格式如下:

date表格中的列daily格式2013-01-06 17:36:11。如何使用 PHP 过滤查询以仅显示今天的查询?

4

2 回答 2

2
WHERE DATE(`date`) = DATE(NOW())
于 2013-01-06T22:42:56.400 回答
1

在 sql 查询的 where 子句中做更好的做法。扩展宇智波斑的回答:如果您使用的是 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
于 2013-01-06T23:06:47.383 回答