【发布时间】:2019-12-09 15:08:14
【问题描述】:
这是我的数据库:
我想在柱形图中显示每列的平均值,比如这个例子https://canvasjs.com/javascript-charts/multiple-axis-column-chart/
所以蓝色的PD1和红色的PD2的平均值,蓝色的SVK1,红色的SVK2等等。
我一直在尝试修改这个示例代码:https://canvasjs.com/php-charts/chart-data-from-database/
但我无法让它工作。这是我尝试过的
foreach ($link->query('Select AVG(PD1), AVG(PD2) from table') as $row) {
$PD1 = $row['AVG(PD1)'];
$PD2 = $row['AVG(PD2)'];
array_push($dataPoints,"$PD1","$PD2");
array_push($dataPoints2, array("y"=> $dataPoints));
};
非常感谢您的帮助!
【问题讨论】:
-
你不应该foreach查询。您需要获取它,然后遍历获取的结果。
-
@MarkusZeller 恐怕我不太清楚“迭代获取的结果”是什么意思.. :(
$stmt = $conn->prepare("Select AVG(PD1), AVG(PD2) from table"); $stmt->execute(); $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);我做了这样的事情,然后仍然需要一个 foreach 循环? 我真的迷路了:( -
我通常使用prepare()、execute()然后在while循环中获取。我不知道我可以直接“查询”它。感谢那!但我注意到了错误。您可以设置自定义“列”名称并在结果中引用它们。请看下面我的回答。对不起。