2017-02-21 78 views
1

我正在研究PHPMySQL,我想統計今天和昨天產生的結果。按天生成結果

這是我的phpmyadmin的屏幕截圖,表是results。在date_generate專欄中,我已經使用TIMESTAMP

table

我有這個疑問這算總成績

<?php 

    $query = $db->query("SELECT * FROM `results`"); 
    $count = $query->rowCount(); 
    echo $count; 
+0

這裏有一個提示:開始使​​用'WHERE'條款。在尋求幫助之前,你應該展示一些最小的努力。 –

+0

是的,我昨天嘗試的形式,但仍然存在問題,你可以發佈此查詢 –

+0

歡迎來到Stackoverflow。在提出新問題之前請做一些調查。這個已經被多次回答了。檢查此鏈接:http://stackoverflow.com/questions/10395444/mysql-count-and-group-by-day –

回答

0

替換查詢:

$query = $db->query("SELECT * FROM `results` where date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE()"); 
$query->execute(); 
echo $count = $query->rowCount(); 
+0

感謝現在的工作 –

+1

檢查更新的答案,並使用$ count變量。 echo $ query-> execute();將始終返回1或0,因爲它的返回類型將始終爲BOOL(true或false) –

+0

yes now working fime :) –

1

您需要使用group by得到基於date_genrate創建的記錄。所以,你的查詢將會像 考慮date_generate作爲timestammp

SELECT DATE(FROM_UNIXTIME(date_generate)) AS date_g, COUNT(id) AS NumPosts 
FROM results 
WHERE date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE() 
GROUP BY date_g 
ORDER BY date_g 
+0

我試過這個,但仍然這顯示輸出是1 這裏是查詢我試過 '<?php $ query = $ db-> query(「 SELECT DATE(FROM_UNIXTIME(date_generate))AS date_g,COUNT(ID)AS NumPosts 從結果 WHERE date_generate BETWEEN DATE_ADD(CURDATE(),間隔1天)和CURDATE() GROUP BY date_g ORDER BY date_g 「) ; echo $ query-> execute();?>' –

+0

get row_count .... execute將只返回執行成功或不成功的查詢....嘗試直接在phpmyadmin中運行查詢並查看結果... – Naincy

+0

謝謝,問題由@VikasUmrao解決 –