2

誰かがここで私を助けてくれることを願っています、私は私のsqldbから私の動的データをグラフ化する方法としてハイチャートを見てきました....これまでに思いついたのは以下です、それは奇妙です、それは思われます正解です。データは正解ですが、グラフをレンダリングできません。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>

4

3 に答える 3

1

コードを生成せずにレンダリングを開始することをお勧めします。それがうまくいかない場合は、jsfiddleでそれを共有することをお勧めします。動作する場合は、生成されたコードと比較する必要があります。

    {
        name: 'Cancelled',
        data: [<?php echo join($data4, ',') ?>],
        pointStart: 0
        //pointInterval
    }, // This comma is a syntax error
]

そのコンマが見えますか?'}'の前にコンマを入れないでください。これは、複数の場所にコンマがあるためです。

于 2012-07-13T11:28:27.080 に答える
0

xAxisの下のcategoriesステートメントの後にコンマを取り出します。

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

する必要があります

xAxis:  {
    categories: [<?php echo join($data1, ',') ?>]
},
于 2012-07-13T13:25:03.603 に答える
0

私は3つの本当の理由がここにあると思います:

<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をロードします。

于 2013-02-27T12:36:00.930 に答える