非程序员 - 将数据从mySQL读入条形图

时间:2013-11-07 18:35:49

标签: highcharts

我不是程序员,我对Highcharts很新。 与数据库的连接工作,图表和标签的x,y轴显示,但没有数据。 我从Highchart的论坛[这里] [1]获得了这整个剧本。

问题:如何让图表显示列中的数据 gradu_year和i_am_a_student?

我相信这里的人们很容易,但对我来说这是一堵砖墙!任何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>

1 个答案:

答案 0 :(得分:0)

Highcharts使用数字值,因此我建议设置JSON_NUMERIC_CHECK标志以返回正确的值。如果它不能解决您的问题,请附上您使用的代码(不是来自chrome的源代码),但是您可以绘制congiuration /获取json等。