2012-12-30 43 views
1

我必须使用highcharts和 显示一些传感器数据我使用YII作为php框架。 我存储为时间戳(3)我需要的毫秒部分 在MySQL(V5.6)的时候,我想使用它,因为几乎是我的数据是在一个秒钟或2highcharts实时更新和YII框架

我控制器给我作为输出 ["2012-12-01 15:00:00.070",45] 不过这点是不是在我的图表显示,和AJAX请求时只是一个时间 我与萤火虫的误差在水平“VAR系列= chart.series [0],” 我不知道如果问题是在我的高位代码或时间格式 我不知道如何在接收到 点后,在我的代码里面使用Dateparse请帮忙!

function requestData() { 
$.ajax ({ 
      type:"get" , 
     url: "<?php echo CController::createUrl('beam/GetSensorsDataLive') ?>", 
     data: {"beamId" : "<?php echo $modelBeam['poutre_id'] ?>" }, 
     dataType: "json", 

      success: function(response,point) { 
      var series = chart.series[0], //// error here 

    shift = series.data.length > 20;// shift if the series is longer than 20 
      chart.series[0].addPoint(point,true, false); // add the point 
      setTimeout(requestData, 1000); // call it again after one second 

            }, 
           cache: false 
    }); 
      } 

$(document).ready(function() { 
    var chart; 

     chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'graph', 
      type: 'spline', 
      events: { 
       load: requestData 
      } 
     }, 

     xAxis: { 
      type: 'datetime', 
      }, 
       tooltip: { 

        formatter: function() { 

        return '<b>'+ this.series.name +'</b><br/>'+ 

        Highcharts.dateFormat('%H:%M:%S:%m', this.x) +'<br/>'+ 

        Highcharts.numberFormat(this.y, 2); 

      } 

     }, 


        series: [{ 
      name: 'Live Data From sensor <?php echo $modelBeam['poutre_id'] ;?> ', 
      data:[] 
     }] 

    }); 

}); 
+0

你“与Firebug出现错误”...你得到的* actual *错误信息是什么?目前的问题是'chart'变量在该范围内不可见。将函数requestData()移动到'$(document).ready(function(){})'块中,以便访问'chart'。 – DCoder

+0

您好!真的非常感谢你救了我 我现在不能看到萤火虫的所有要求,但没有如在此图像中仍未显示 http://i45.tinypic.com/2rhwbpk.png 正常点更新我的数据库,请求应该始终保持相同的点并显示它,并且在点的中心位置处显示点,但在我的情况下,它看起来像没有显示的点很多。 非常感谢提前 – Ben

回答

0

你的数据x应以毫秒为单位JS时间戳,也可以从PHP解析您的数据,并使用Date.UTC()函数。