1

私はプログラマーではなく、Highcharts を初めて使用します。データベースへの接続は機能し、グラフの x、y 軸とラベルは表示されますが、データは表示されません。このスクリプト全体は、Highchart のフォーラム [ここ][1] から入手しました。

質問: グラフに、卒業年と学生の列からのデータを表示するにはどうすればよいですか?

ここにいる人たちにとっては簡単なことだと思いますが、私にとってはレンガの壁です。誰でも私の方法を送ることができるどんな助けのためのTIA。

これは完全なスクリプトです。あなたが提案したように、jsonビットを追加しました。

   <php
       $db = mysql_connect("localhost","un","pw","db");
   if ( $db == "" ) { echo " DB Connection error...\r\n"; exit(); }

   connects to db fine

   $sql = mysql_query($con,"SELECT graduation_year,i_am_a_student FROM wp_gfsept2013");
   $query = mysql_query($sql);

私の問題は以下のコードにあると思います。テーブルのデータを表示するように変更するための技術的な知識がありません。いろいろ試してみましたが、うまくいきません。

    $i = 0;
        while($row = mysql_fetch_array($query)){
             $date    = strtotime($row['date']);
             $stamp    = $date * 1000;
             $val    = (int)$row['value'];

             $d[$i]['x'] = $stamp;
             $d[$i]['y'] = $val;
             $i++;
          }
   echo json_encode($data, JSON_NUMERIC_CHECK);

   ?>

   <div id="container" style="width:800px;height:300px;margin:1em auto;"></div>

   <script type="text/javascript">
      $(document).ready(function() {
         var chart = new Highcharts.Chart({
            chart: {
               defaultSeriesType:'column',
               renderTo:'container'
            },
            credits:{enabled:false},
            title:{text:'Sample Chart'},
            legend:{
            },
            tooltip:{
            },
            plotOptions:{
               series:{
                  shadow:false,
                  borderWidth:0,
                  color:'rgba(90,155,212,.75)',
               }
            },
            xAxis:{
               title:{text:''},
               type:'datetime',
               lineWidth:1,
               lineColor:'#999',
               tickColor:'#999',
               tickLength:3,
            },
            yAxis:{
               lineWidth:1,
               lineColor:'#ccc',
               tickColor:'#999',
               tickLength:3,
               tickWidth:1,
               gridLineWidth:1,
               gridLineColor:'#e0e0e0',
               title:{text:''}
            },
            series:[{
          data: [<?php echo json_encode($data, JSON_NUMERIC_CHECK); ?>],
            }]
         });
      });
   </script>
   </body>
</html>
4

1 に答える 1