我的图表没有在插入数据的正确日期之间读取,而是读取行数并显示所有29天。下面是代码:
$graphTimeOne = time();
for($graphTimeOne = 29; $graphTimeOne >= 0; $graphTimeOne--){
$sel_timestamp = mktime(0, 0, 0, date("n"), date("j") - $graphTimeOne, date("Y"));
$graphResult = mysql_query("SELECT COUNT(id) FROM user WHERE timestamp >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 29 DAY))");
基本上它应该显示每天有多少,但它显示的是每天的总数,间隔为29天。有什么好主意吗?
您的SQL不完整-它缺少日分组:
SELECT COUNT(id)
FROM user
WHERE timestamp >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 29 DAY))
GROUP BY DAY(FROM_UNIXTIME(`timestamp`))