我有一个表xeon_users_rented
,其中包含:clicks0
,clicks1
,clicks2
,clicks3
,clicks4
,clicks5
,clicks6
每天clicks0
会增加,并且每天午夜,cronjob将会运行,clicks0 = clicks1
(设置今天的点击次数,昨天点击次数),然后将clicks0
设置为零。
我想要实现的是我想制作一个图表,它显示点击次数0,点击次数等的总和,其中clicks0是今天的日期。
我有以下查询:
$data = array();
for ($x = 0; $x <= 6; $x++) {
$date = date("Y/m/d", time() - ($x * 86400));
$queryE = $dbh->prepare("SELECT SUM(clicks$x) FROM xeon_users_rented WHERE user_by=:username");
$queryE->bindParam(":username", $userdata['username']);
$queryE->execute();
$row = $queryE->fetch(PDO::FETCH_ASSOC);
$dates[] = date("Y/m/d", time() - ($x * 86400));
$data[] = ($row['clicks'.$x.''] > 0 ? $row['clicks'.$x.''] : 0);
}
$days = array('Today');
for ($i = 0; $i < 6; $i++) {
$days[$i] = date('d-m', strtotime('-'.($i + 0).' day'));
}
$days
工作正常 - 它将在今天和最近几天打印出来。
$ data 无效。它只是打印出来:
0,0,0,0,0,0,0
有人可以帮助我。
答案 0 :(得分:1)
您的SUM中的列不会被命名为click $ x。它将被命名为SUM(clicks1)。
在SQL中提供显式名称,例如
SELECT SUM(clicks$x) as clickSum ...
然后将其作为
引用$row['clickSum']