PHP仅在过去7天内从mySQL获取数据

时间:2016-06-20 15:12:26

标签: php mysql arrays

我有一个显示过去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" 

非常感谢所有可以提供帮助的人。

2 个答案:

答案 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'