1
하이 차트를 사용하여 일부 센서 데이터를 표시해야합니다. PHP 프레임 워크로 YII를 사용하고 있습니다. 나는 (3) 내가 밀리 초 부분 에게 필요한 타임 스탬프로 MySQL (v5.6에)의 시간을 저장하고 나는 거의 내 데이터의 두 번째 또는 두highcharts 라이브 업데이트 및 YII 프레임 워크
내 컨트롤러에 있기 때문에 사용 출력으로 저를주고 싶어 ["2012-12-01 15:00:00.070",45]
하지만이 점은 내 차트에 표시되지 않으며 ajax 요청은 한 번만 수행됩니다. "var series = 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:[]
}]
});
});
"Firebug로 오류가 발생했습니다"... 실제 오류 메시지는 무엇입니까? 현재 문제는'chart' 변수가 그 범위에서 보이지 않는다는 것입니다. 'function requestData()'를'$ (document) .ready (function() {}) '블록으로 옮겨서'chart'에 접근 할 수 있도록하십시오. – DCoder
안녕하세요! 정말 고마워. 너는 나를 구해 줬어. 지금은 방화범에 모든 요청을 볼 수는 없지만이 이미지에 표시된 것처럼 여전히 표시되지는 않습니다. http://i45.tinypic.com/2rhwbpk.png 정상적으로 내 데이터베이스의 업데이트, 요청은 항상 같은 지점을 가져 와서 그것을 표시하고 내 차트의 중심에 도착하지만, 내 경우에는 그것은 디스플레이없이 많은 지점이있는 것처럼 보입니다. 미리 감사드립니다. – Ben