Highcharts & Mysql [关闭]

Posted

技术标签:

【中文标题】Highcharts & Mysql [关闭]【英文标题】:Highcharts & Mysql [closed] 【发布时间】:2011-04-12 23:23:26 【问题描述】:

我需要有关此代码的帮助,我设法从 mysql 数据库中提取数据并将它们转换为 Highcharts 所需的格式。

<?php
$query =mysql_query("select
               date_format(connect_time,'%Y-%m-%d %H %i') AS date,
               Customers.name as customer,
               Sum(duration) as secondes
               from CDR_Vendors
               inner join Customers on (CDR_Vendors.i_customer = Customers.i_customer)
               where
               i_vendor='32'
               and
               connect_time between '2010-09-01 00:00:00' and '2010-09-01 00:10:00'
               group by date
               ORDER BY date", $link) or die(mysql_error());
$row = mysql_fetch_assoc($query);
$customer[] = $row['customer'];
$json_secondes = array();
$json_date = array();
do
$secondes[] = $row['secondes'];
array_push($json_secondes, $row['secondes']);
array_push($json_date, $row['date']);

while($row = mysql_fetch_assoc($query));
//echo json_encode($json_secondes,$row);
//echo json_encode($json_date,$row);
//echo join($secondes, ', ');
?>
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Highcharts Example</title>


      <!-- 1. Add these javascript inclusions in the head of your page -->
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
      <script type="text/javascript" src="../js/highcharts.js"></script>

      <!-- 1a) Optional: the exporting module -->
      <script type="text/javascript" src="../js/modules/exporting.js"></script>


      <!-- 2. Add the JavaScript to initialize the chart on document ready -->
      <script type="text/javascript">

         var chart;
         $(document).ready(function() 
            chart = new Highcharts.Chart(
               chart: 
                  renderTo: 'container',
                  defaultSeriesType: 'column'
               ,
               title: 
                  text: 'Monthly Average Rainfall'
               ,
               subtitle: 
                  text: 'Source: WorldClimate.com'
               ,
               xAxis: 
                  categories: <?php echo json_encode($json_date,$row);?>
               ,
               yAxis: 
                  min: 0,
                  title: 
                     text: 'Rainfall (mm)'
                  
               ,
               legend: 
                  layout: 'vertical',
                  backgroundColor: '#FFFFFF',
                  align: 'center',
                  verticalAlign: 'top',
                  x: 100,
                  y: 70
               ,
               tooltip: 
                  formatter: function() 
                     return ''+
                        this.x +': '+ this.y +' Min';
                  
               ,
               plotOptions: 
                  column: 
                     pointPadding: 0.2,
                     borderWidth: 0
                  
               ,
                    series: [
                  name: '<?php echo join($customer, ', ');?>',
                  data: [<?php echo join($secondes, ', ');?>]

               ]
            );


         );

      </script>

   </head>
   <body>

      <!-- 3. Add the container -->
      <div id="container" style="width: 1300px; height: 500px; margin: 0 auto"></div>


   </body>
</html>

此代码的问题在于它只显示来自单个客户的数据,因此查询返回来自多个客户的数据。

这个方法好还是有其他更简单的方法?

【问题讨论】:

您的代码是否只显示查询列表中的最后一个客户? 是的,你知道如何解决这个问题吗? 【参考方案1】:

尝试使用implode(', ', $customer);implode(', ', $secondes); 而不是join 函数。

【讨论】:

【参考方案2】:

你可以检查一下:

Create a CSV File for a user in PHP

我希望这对你的 CSV 有帮助

【讨论】:

以上是关于Highcharts & Mysql [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP/MySQL 的 highcharts 的 Json 结构

Highcharts 定制 PHP/MySQL

来自 php mysql 的 Highcharts 钻取 json

PHP mySQL Highcharts Json 数组

Highcharts,Mysql和Codeigniter

Highcharts 动态图表(按一定时间间隔更新) PHP+MySql 示例