呈现Highcharts的问题-通过PHP/MySQL填充

呈现Highcharts的问题-通过PHP/MySQL填充,php,javascript,mysql,html,highcharts,Php,Javascript,Mysql,Html,Highcharts,我希望有人能在这里帮助我,我一直在寻找highcharts作为从我的sql db中绘制动态数据的一种方式……到目前为止,我得出的结果如下,奇怪的是,它似乎是正确的,数据是正确的,但是,我无法绘制我的图表,现在我尝试通过Chrome和IE查看图表,但没有结果,有人能看到我哪里出错了,或者哪里出错了…我的数据正在传递到JS数组中,所以呈现端出现了问题。。。任何帮助都将不胜感激。我已经关闭了我的html标签,但由于某些原因,它没有显示在这篇文章中…如果有人有任何建议,我会很高兴听到他们 <htm

我希望有人能在这里帮助我,我一直在寻找highcharts作为从我的sql db中绘制动态数据的一种方式……到目前为止,我得出的结果如下,奇怪的是,它似乎是正确的,数据是正确的,但是,我无法绘制我的图表,现在我尝试通过Chrome和IE查看图表,但没有结果,有人能看到我哪里出错了,或者哪里出错了…我的数据正在传递到JS数组中,所以呈现端出现了问题。。。任何帮助都将不胜感激。我已经关闭了我的html标签,但由于某些原因,它没有显示在这篇文章中…如果有人有任何建议,我会很高兴听到他们

<html xmlns="http://www.w3.org/1999/xhtml">
<head>  
<script src='highcharts.js' type='text/javascript'> </script>       
    <script src='exporting.js' type='text/javascript'> </script>    
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script>    

    </head>

<body>

    <?php
    include "connect_db.php";

    $SQL1 =     "SELECT review.reviewForum AS reviewForum, 
                COUNT(CASE WHEN mom.result = 'Approved' THEN 'yes' ELSE NULL END) AS Approved, 
                COUNT(CASE WHEN mom.result = 'NOT Approved' THEN 'yes' ELSE NULL END) AS Not_Approved, 
                COUNT(CASE WHEN mom.result = 'Cancelled' THEN 'yes' ELSE NULL END) AS Cancelled 
                FROM review INNER JOIN mom ON mom.reviewId = review.reviewId GROUP BY review.reviewForum";

    $result1 = mysql_query($SQL1);
    $data1 = array();
    while ($row = mysql_fetch_array($result1)) {
       $data1[] = $row['reviewForum'];
    }

    $result2 = mysql_query($SQL1);
    $data2 = array();
    while ($row = mysql_fetch_array($result2)) {
       $data2[] = $row['Approved'];
    }

    $result3 = mysql_query($SQL1);
    $data3 = array();
    while ($row = mysql_fetch_array($result3)) {
       $data3[] = $row['Not_Approved'];
    }

    $result4= mysql_query($SQL1);
    $data4 = array();
    while ($row = mysql_fetch_array($result4)) {
       $data4[] = $row['Cancelled'];
    }
    ?>

    <script type="text/javascript">
    $(document).ready(function() {
        var chart = new Highcharts.Chart({
              chart: {
                 renderTo: 'container',
                 type: 'column'
              },

            title:  {
                        text: 'TC REVIEW RESULT STATS'
                    },

            xAxis:  {
                        categories: [<?php echo join($data1, ',') ?>],
                    },

            yAxis:  {
                        min:0
                    },

            legend: {
                        layout: 'vertical',
                        backgroundColor: '#FFFFFF',
                        align: 'left',
                        verticalAlign: 'top',
                        x: 50,
                        y: 35,
                        floating: true,
                        shadow: true
                    },

            plotOptions: {
                            column: {
                                        pointPadding: 0.2,
                                        borderWidth: 0
                                    }
                        },

            series: [   {
                            name: 'Approved',
                            data: [<?php echo join($data2, ',') ?>],
                            pointStart: 0
                            //pointInterval
                        },

                        {

                            name: 'Unapproved',
                            data: [<?php echo join($data3, ',') ?>],
                            pointStart: 0
                            //pointInterval
                        },

                        {
                            name: 'Cancelled',
                            data: [<?php echo join($data4, ',') ?>],
                            pointStart: 0
                            //pointInterval
                        },
                    ]
        });
});
    </script>

    <div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

</body>


我建议您开始尝试在不生成代码的情况下渲染一个。如果这不起作用,您可能希望在JSFIDLE上共享它,我们可以看看:-)。如果它确实有效,您应该将其与生成的代码进行比较

    {
        name: 'Cancelled',
        data: [<?php echo join($data4, ',') ?>],
        pointStart: 0
        //pointInterval
    }, // This comma is a syntax error
]
{
姓名:'已取消',
数据:[],
起点:0
//点间隔
},//此逗号是语法错误
]

你看到那个逗号了吗?不能在“}”前面加逗号,因为它在多个地方都有。

在xAxis下的categories语句后面去掉逗号

 xAxis:  {
     categories: [<?php echo join($data1, ',') ?>],
 },
xAxis:{
类别:[],
},
应该是

xAxis:  {
    categories: [<?php echo join($data1, ',') ?>]
},
xAxis:{
类别:[]
},

我认为真正的原因在于:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script>    
<script src='highcharts.js' type='text/javascript'> </script>       
<script src='exporting.js' type='text/javascript'> </script>    


首先加载jQuery,然后加载Highcharts。

老实说,EricG,我希望有人能用新的眼光看看我的代码,因为我在过去两天一直在睁大眼睛。。。我只是想知道我的布局是否合适等等…在php文件中包含js是否合适?等等取消后的一个,数据还是大括号?抱歉,我知道为什么,我删除了它,但当我上传并重新运行它时,仍然没有渲染。我已经运行了Google Chrome->Developer Tools,它告诉我在@xAxis:{categories:[由于某些原因,我无法对代码进行注释..为混乱的replyNo问题道歉。您仍然有太多的逗号。请在“}之前删除所有逗号'您的html标记可能丢失,因为您可能需要在该行之后添加一个enter(以使其成为代码的一部分)。逗号不是问题,这里是在对象数组之后使用逗号…我也这样做了,但没有任何区别。.谢谢您思想尝试:类别:['谢谢..这有助于解决问题,我删除了pointStart:0和pointInterval,非常感谢