我正在尝试创建一个php文件,我将在其中发送数据从数据库中通过它们将显示0或1.在我的示例中,我有一个包含两个user_id和一个参数in
的表,其中包含值0或1.从 test.php 我通过给出user_id来填写表单,然后我提交它。当我为此用户提交时,参数in
如果为1则变为0,反之亦然。在 next.php 中,我使用<iframe src="show.php">
,在 show.php 中,我会显示user_id
和in
。我想要的是当我提交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">
答案 0 :(得分:2)
您想要的是实时更新,而无需刷新页面。您可以使用 AJAX 请求或使用 websockets 来实现此目的。
使用ajax请求,您可以轻松设置超时功能,每隔x秒/分钟刷新一次iframe。
This question详细说明了如何开始使用。