使用php变量的Google计量器未更新

时间:2016-06-21 21:04:23

标签: javascript php gauge

我想在页面中绘制一个简单的Google测量仪,用于实时风速仪表。 我使用谷歌模板,我用一个来自php文件的php变量替换变量,这个变量有很多。 虽然仪表在第一次更新时正在绘制正确的值。这是我的代码。

function drawChart() {
  var data = google.visualization.arrayToDataTable([
    ['Label', 'Value'],
    ['Memory', 0],

  ]);

  var options = {
    width: 400,
    height: 120,
    redFrom: 90,
    redTo: 100,
    yellowFrom: 75,
    yellowTo: 90,
    minorTicks: 5
  };
  var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
  chart.draw(data, options);

  setInterval(function() {
    data.setValue(0, 1, <?php @include "/live/live.php"; echo $windspeed; ?>);
    chart.draw(data, options);
  }, 1000);
}

我的live.php只包含变量$ windspeed =&#34; 15.4&#34;等,并在ftp exery 3秒自动更新。任何帮助表示赞赏.....

1 个答案:

答案 0 :(得分:1)

您的代码合并/live/live.php的输出一次,当生成页面时,可能您想要轮询此URL以获取值....

    ...
    setInterval(function() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
         if (xhttp.readyState == 4 && xhttp.status == 200) {
             data.setValue(0,1,xhttp.responseText);
             chart.draw(data, options);
         }
      };
      xhttp.open("GET", "/live/live.php", true);
      xhttp.send();   
     }, 1000);

取代......

setInterval(function() {
    data.setValue(0, 1, <?php @include "/live/live.php"; echo $windspeed; ?>);
    chart.draw(data, options);
}, 1000);