网站上的实时更改

时间:2015-07-24 13:39:29

标签: javascript php reload

我正在尝试创建一个php文件,我将在其中发送数据从数据库中通过它们将显示0或1.在我的示例中,我有一个包含两个user_id和一个参数in的表,其中包含值0或1.从 test.php 我通过给出user_id来填写表单,然后我提交它。当我为此用户提交时,参数in如果为1则变为0,反之亦然。在 next.php 中,我使用<iframe src="show.php">,在 show.php 中,我会显示user_idin。我想要的是当我提交user_id时,立即查看 show.php 中的更改。我所做的是一直刷新页面,但这太令人不安了。你能推荐别的吗?这是一些代码。

test.php的

<?php
require_once 'include_php/db.php';
global $dbcnx;
?>
<form action="" method="get">
    <input type="text" name="id"/>
    <input type="submit" name="submit"/>
</form>

<?php

if(isset($_GET['submit']))
{
    $id = $_GET['id'];
    $res = mysqli_query($dbcnx, "select * from people where uid = ".$id.";");
    $row = mysqli_fetch_array($res);

    if($row['in'] == 0) $up = mysqli_query($dbcnx, "UPDATE `people` SET `in`=1 WHERE uid=".$id.";");
    else $up = mysqli_query($dbcnx, "UPDATE `people` SET `in`=0 WHERE uid=".$id.";");
}

show.php

<?php
require_once 'include_php/db.php';
global $dbcnx;

$res = mysqli_query($dbcnx, "select * from people");

while($row = mysqli_fetch_array($res))
{
    echo $row['uid']." ".$row['in']."<br/>";
}

print "<script>window.location.replace('show.php');</script>"; //here is the disturbing refresh

next.php

<iframe src="show.php">

1 个答案:

答案 0 :(得分:2)

您想要的是实时更新,而无需刷新页面。您可以使用 AJAX 请求或使用 websockets 来实现此目的。

使用ajax请求,您可以轻松设置超时功能,每隔x秒/分钟刷新一次iframe。

This question详细说明了如何开始使用。