2017-02-21 64 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解决 –