我正在尝试根据数据库中的数据制作HighCharts折线图。我从数据库中获取数据,因为我可以在控制台中看到数据。
我使用的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>
我使用带有id容器的容器div如下:
<div id="container"></div>
问题是数据没有以正确的方式显示。它只显示了一半的数据,如下所示:
它没有显示线。请帮忙
您的数据系列由字符串组成,Highcharts使用此类图表的数字。
删除数据部分中的简单引号,它应该有效:data: [<?php echo join($data2, ","); ?>]