我有一个显示过去7天网站访问者的图表。
此图表将使用这些最后几天的数据进行填充,但是当我只获得存储在数据库中的前7天时,我必须检索过去6天和当前数据的当前周数据。
表结构如下:
|| ID || dt || ip ||
|| 1 || 2016-06-15 || 0.0.0.0 ||
|| 2 || 2016-06-15 || 1.0.1.0 ||
|| 3 || 2016-06-15 || 2.1.0.1 ||
|| 4 || 2016-06-16 || 0.1.0.1 ||
|| 5 || 2016-06-16 || 2.1.2.0 ||
我正在使用这行代码来获取数据,但似乎无法正常工作
$siteViewsDaily = $DB_CON->query("SELECT count(*), date(dt) FROM statistics GROUP BY date(dt) - INTERVAL 7 DAY")->fetchAll();
如何在数组中获取数据:
[dt] => [ip] => "n"
非常感谢所有可以提供帮助的人。
答案 0 :(得分:1)
使用ADDDATE()函数
在sql端执行此操作$sql = 'SELECT count(*), date(dt) as d FROM statistics WHERE d BETWEEN ADDDATE(NOW(),-7) AND NOW() GROUP BY d';
答案 1 :(得分:0)
$fromDate = date("Y-m-d",strtotime("-7 days"));
在SQL中:WHERE dt > '$fromDate'