加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Highcharts和Mysql

发布时间:2020-12-13 22:28:59 所属栏目:PHP教程 来源:网络整理
导读:我需要这段代码的帮助,我设法从 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
我需要这段代码的帮助,我设法从 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>

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

这种方法是好的还是有另一种更简单的方法呢?

解决方法

尝试使用implode(‘,’,$customer);和implode(‘,$secondes);而不是连接功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读