我正在尝试根据数据库中的数据制作HighChart折线图。 我从数据库中获取了数据,因为我可以在控制台中看到该数据。
我使用的php代码是:
<?php
$query = "
SELECT YEAR(created_at) AS year,
MONTHNAME(created_at) AS month,
COUNT(*) AS count
FROM users
GROUP BY month ASC ORDER BY created_at ASC
" ;
$result = mysqli_query($conn, $query) ;
while ($row = mysqli_fetch_assoc($result)) {
$data1[] = $row['month'];
$data2[] = $row['count'];
}
?>
现在,我按照以下所示在Highchart的脚本中获取数据:
<script type="text/javascript">
$(function () {
$('#container').highcharts({
chart: {
type: 'line',
},
title: {
text: 'Download Trends'
},
credits: {
enabled: false
},
xAxis: {
categories: ['<?php echo join($data1, "','"); ?>'],
},
yAxis: {
min: 0,
title: {
text: 'No. of Downloads'
}
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Qty',
data: ['<?php echo join($data2, "','"); ?>'],
}]
});
});
</script>
我将容器div与id容器一起使用,如下所示:
<div id="container"></div>
问题在于数据没有以正确的方式显示。如您所见,它仅显示一半的数据:
它没有显示行。 请帮助
答案 0 :(得分:1)
您的数据系列是由字符串组成的,而Highcharts可以处理这种图形的数字。
删除数据部分中的简单引号,它应该可以工作:
data: [<?php echo join($data2, ","); ?>]