我有一个文件“data.php”,它处理传入的帖子、更新和从数据库读取。帖子每秒都会出现。
而且我有一个带有 js 脚本的文件“demo.php”,我的想法是我想以图表的形式呈现数据库中的数据。..所以它必须每秒钟左右更新一次。我该怎么做,我是否需要以某种方式触发 php 文件以获取新数据到 js 变量?
数据.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++;
}
?>
演示.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' 的值,这样我的 js 函数也会更新,因为它读取了 '$amp_s' 的值(setTimeout(graf, 500))。
我放的方式有什么问题吗?
我当然在 demo.php 中有这个:
include "k_connect.php";
include('data.php');