着信投稿、更新、データベースからの読み取りを処理するファイル「data.php」があります。投稿は毎秒来ます。
そして、jsスクリプトを含むファイル「demo.php」があります。データベースのデータをグラフで表示したいという考えです。..だからそれは毎秒かそこらを更新する必要があります。どうすればそれを行うことができますか、js変数に新しいデータを取得するために何らかの方法でphpファイルをトリガーする必要がありますか?
data.php:
<?php
include "k_connect.php";
if(isset($_POST['value']))
{
$amp_f = number_format($_POST['value'], 2);
$amp = explode('.', $amp_f);
$d_tid = gmdate('Y-m-d H:i:s');
$amp =str_replace(",","",$amp);
$tid = explode(' ',$d_tid);
$tid = str_replace(":","",$tid);
mysql_query("UPDATE impdata SET amp=$amp[0]
WHERE ID=1");
}
$tid_back=array();
$amp_back = array();
$x=0;
$SQL = "SELECT * FROM impdata";
$result = mysql_query($SQL);
while ( $db_field = mysql_fetch_assoc($result) ) {
$amp_back["amp"] = $db_field['amp'];
$tid_back["tid"] = $db_field['tid'];
$amp_s = $amp_s . json_encode($amp_back) . " ";
$tid_s = $tid_s . json_encode($tid_back) . " ";
$x++;
}
?>
demo.php:
function graf() {
var amp = <?php echo json_encode($amp_s); ?>;
var power = amp.split(":");
alert(power[1].match(/\d+/g));
var req = new XMLHttpRequest();
setTimeout(graf, 500);
}
graf();
demo.php('power'はそれを保持します)で正しい値を取得しますが、一度だけ更新されません。同じ値です。f5を押すと、新しい値が取得されます。
私の考えは次のとおりです。「data.php」は投稿があるたびに(毎秒)実行され、「$ amp_s」の値が更新されます。これにより、「$ amp_s」の値を読み取るため、js関数も更新されます。 (setTimeout(graf、500))。
私がそれを立てる方法に何か問題がありますか?
もちろん、これはdemo.phpにあります。
include "k_connect.php";
include('data.php');