无法使用连接了chartist.js库的mysql数据库生成图中的线条


Not able to generate a line in graph with mysql database connected with chartist.js library?

我正在使用chartist.js库制作图形。我在MYSQL示例中找不到任何一个例子。因此,借助于在线提供的不同库代码,我试图将数值作为数组插入标签中(尽管这是静态的)。但无法生成图形。设法解决这个问题。页面中填充了X轴和Y轴的值,但在浏览器中输入时不会绘制任何直线。

调试器说类型错误:this.data.series[i][m]未定义chartist.min.js:7:17185不赞成使用突变事件。请改用MutationObserver。

代码:

<head>
<script src="../_js/chartist.min.js"></script>
<link href="../_css/chartist.min.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8">
 <title>Daily performance-- Aspect ratio containers</title>
 <?php 
$con=mysqli_connect("// due connectn attributes"); 
if(mysqli_connect_errno($con)) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
}
$result = mysqli_query($con,"SELECT *  from Score_result");
$row = mysqli_fetch_array($result, MYSQLI_NUM);
$player1 = array_column($row,"Player1");
$player2 = array_column($row,"Player2");
mysqli_close($con);
?>
</head>
<body>
 <div class="ct-chart ct-golden-section"></div>
 <script>
new Chartist.Line('.ct-chart', {
 labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
 series: [
 [<?php echo implode(',',$player1); ?>],
 [<?php echo implode(',',$player2); ?>]
 ]
});
</script>
</body>
</html>

我以前使用过ChartJS,但我没有使用json,所以我不确定您的代码可能出了什么问题。

我把它从我写的脚本中提取出来,在脚本中我实现了一个条形图。在这段代码中,变量video_statistics是一个多维数组,包含以下形式的数据:

Month | Premium Users | Total Users
___________________________________
March |      8        |      12
April |      15       |      32
May   |      13       |      27

代码:

<?php   
    $months = array_column($video_statistics,"month");
    $premium_users = array_column($video_statistics,"premium_users");
    $total_users = array_column($video_statistics,"total_users");

?>
<script type="text/javascript">
    $( document ).ready(function() {
        var data = {
            labels: [<?php echo implode(',',$months);?>],
            datasets: [
                {
                    fillColor: "rgba(151,187,205,0.5)",
                    strokeColor: "rgba(151,187,205,0.8)",
                    highlightFill: "rgba(151,187,205,0.75)",
                    highlightStroke: "rgba(151,187,205,1)",
                    data: [<?php echo implode(',',$total_users); ?>],
                    title : 'Total Users'
                },
                {
                    fillColor: "rgba(220,220,220,0.5)",
                    strokeColor: "rgba(220,220,220,0.8)",
                    highlightFill: "rgba(220,220,220,0.75)",
                    highlightStroke: "rgba(220,220,220,1)",
                    data: [<?php echo implode(',',$premium_users); ?>],
                    title : 'Premium Users'
                }  
            ]  
        }
        var cht = document.getElementById('videoChart');
        var ctx = cht.getContext('2d');
        var barChart = new Chart(ctx).Bar(data);
    });
</script>

<canvas id="videoChart" width="400" height="400"></canvas>

代码在脚本中运行,但我还没有以这种形式对其进行测试。我希望它能有所帮助。