2017-01-25 7 views
0

私はGoogleの視覚化でGoogle Gaugesを学びたいと思っています。毎秒変化するゲージにデータを表示し、変数を秒値として割り当てるPHPコマンドを使用して変数をロードしますもしくはshell_exec関数で、PFB私のコードの機能が1秒memoryの値の後に呼び出された後setinterval関数を使用してjavascript変数をリロードする

setInterval(function() { 
var memory = parseFloat(<?php echo json_encode(shell_exec("date +%S")); ?>); 
data.setValue(0, 1, memory); 
chart.draw(data, options); 
    }, 1000); 

でリフレッシュしparseFloat(<?php echo json_encode(shell_exec("date +%S")); ?>);

から撮影されていない私はmemory変数リロードを作るのですか教えてください毎回から定期的に更新されていない単一の値を返す<?php echo json_encode(shell_exec("date +%S")); ?>:関数は、事前

答えて

0

私はそれを(私の場合)データベースからデータを取得するために2つの別々のファイル、PHPファイルを使用して、およびJavaScriptファイルことを行っていますPHPファイルとAjaxを使用してデータベースからの応答を取得します。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

Javascriptコード::あなたはアヤックスがあなたのindex.htmlファイルにこれを追加する含める必要が

var mysqlData; // Global variable in witch the data will be stored 
setInterval(function() { 
    $.ajax({ 
     url: "php/getdata.php", // file name or path to PHP file 
     dataType: "JSON", 
     data:{}, 
     success: function(x){ 
      mysqlData = x; // Assign the response to global variable mysqlData 
     } 
    }); 
}, 2000); // Run every 2 seconds 

を次にGoogleのゲージ機能では、このような何かを:

function SOC() { 
    // Normal google chart code goes here 
    setInterval(function() { 
     data.setValue(0, 1, mysqlData["SOC"]); // In my case mysqlData is an object which contains the key "SOC" 
     formatter.format(data, 1); // Only needs to be done if google.visualization.NumberFormat have been used 
     chart.draw(data, options); // To redraw the gauge with new data 
    }, 2000); 
} 

PHPファイル内:

<?php 
/* Get your data */ 
echo json_encode($table); 
?> 

希望すると助かります!

+0

ありがとう、このアプローチは助けになりました:-) –

2

のおかげで、現在の問題は、あなたのPHPコードは1回だけ実行され、値は、従って、更新されないということである1秒

後に呼び出されますあなたのフロントエンド。

私の代わりにJavascriptののDateを使用するためにあなたをお勧めします:

var seconds = new Date()/1000; 
+0

Antony、返信ありがとうですが、私の必要条件は、PHPの変数を将来ロードすることです。私はPHPでdateコマンドをテストデータとして使用しましたが、リロードせずにこのデータをリフレッシュできる方法はありますか?私の完全なページ? –

+0

@someshgarje Ajaxについて学ぶ... – epascarello

+0

あなたはAjaxを使って、新しい値だけを返す 'getUpdatedValue.php' PHPページを作ることができます – Antony

関連する問題