【发布时间】:2020-01-11 23:53:32
【问题描述】:
尝试对两列进行分组,并将其作为特定系列填充到 highcharts 上。我的代码没有对列进行分组,而是将所有数据显示为一个系列。
$query = $db->Prepare("SELECT class, SUM(marks), DATE(date_column) as
dates FROM classes GROUP BY class,DATE(date_column)");
$query->execute();
while ( $row = $query->fetch(PDO:: FETCH_ASSOC)) {
$date = $row['dates'];
$dates[] = $row['dates'];
$class[] = $row['class'];
$marks[] = $row['SUM(marks)'];
$output[] = array($date,(int)$marks);
}
echo json_encode(array('date'=>$dates,'marks'=>$marks, 'name' => $class));
JS
<script>
$(document).ready(function () {
$(function() {
$.getJSON('data.php', function(data) {
// Create the chart
Highcharts.chart('container', {
title: {
text: 'class Marks'
},
xAxis: {
categories: data.dates
},
series : [{
"name" : data.name,
"data": data.marks
}],
});
});
});
});
</script>
表格
数据响应
date: ["2019-02-07", "2019-02-09", "2019-02-12", "2019-02-08", "2019-02-12",
"2019-02-13", "2019-03-13",…]
marks: ["45", "166", "78", "64", "64", "627", "87", "352"]
name: ["claas 1", "claas 1", "claas 1", "class 2", "class 2", "class 2", "class 3", "class 3"]
【问题讨论】:
-
你能发布你对 highchart 的预期输出吗?
-
@danish-khan-I 问题已更新为预期输出
-
class是从哪里来的?我在您的数据库中看不到它。您也可以print_r($row)并更新您的问题。 -
你试过
JSON.parse()你的回复数据吗? -
@danish-khan-我现在请看一下课程