2012-12-30 57 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()函數。