Highchart:折线图未在屏幕上加载数据库中的数据

问题描述 投票:0回答:1

我正在尝试根据数据库中的数据制作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>

问题是数据没有以正确的方式显示。它只显示了一半的数据,如下所示:enter image description here

它没有显示线。请帮忙

javascript php jquery mysql highcharts
1个回答
1
投票

您的数据系列由字符串组成,Highcharts使用此类图表的数字。

删除数据部分中的简单引号,它应该有效:data: [<?php echo join($data2, ","); ?>]

© www.soinside.com 2019 - 2024. All rights reserved.