PHP を使用して結果をフィルタリングし、今日挿入されたテーブルのデータのみを表示したいと考えています。形式は次のとおりです。
形式のdate
表の列。PHP を使用してクエリをフィルタリングし、今日の日付のクエリのみを表示するにはどうすればよいですか?daily
2013-01-06 17:36:11
WHERE DATE(`date`) = DATE(NOW())
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