我有一个文件data.php处理传入的帖子,更新和从数据库中读取。这些帖子每秒都会发布。从javascript触发php文件
而且我有一个带有js脚本的'demo.php'文件,想法是我想从图形数据库中呈现数据。因此它必须每隔一秒更新一次。我怎么能这样做,我需要触发PHP文件来获取新的数据到JS变量?
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正确的价值( '权力' 持有),但只是一次,它不更新,它只是相同的价值,如果我打F5我会得到一个新的价值。
我的想法是:'data.php'每次有一个帖子(每秒)运行,然后'$ amp_s'的值更新,这样我的js函数也会更新,因为它读取'$ amp_s'(setTimeout(graf,500))。
我放置它的方式有什么问题吗?
我有这样的demo.php课程:
include "k_connect.php";
include('data.php');
你有没有试过jquery-ajax? –
或XMLHttpRequest,如果你喜欢它没有jQuery? (我会使用jQuery) – Popnoodles
为什么你不试图做一个jQuery的/ js函数,使ajax调用,并设置该功能超时1秒。在Ajax页面上,您可以获取数据frm数据库并显示它。 –