仅显示来自今天日期的mysql数据库中的数据

时间:2013-01-06 22:40:46

标签: php mysql

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

date中的

daily格式为2013-01-06 17:36:11。如何使用PHP过滤查询以仅在今天的日期显示查询?

2 个答案:

答案 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