我这里有个员工桌,看他们是在办公室里还是在外面。我有一个php文件来从数据库中选择状态。我尝试将数据库中的状态从out更改为in和in,但在重新加载它之前,我无法在php页面中看到任何更改。当数据库中有更改时,如何使我的php页面自动更改??我是新手,所以请帮忙.提前谢谢。我在这里有php文件:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'pass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT Name,Status FROM Employees';
mysql_select_db('new');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "Name :{$row['Name']} <br> ".
"Status: {$row['Status']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>发布于 2016-04-07 17:10:48
HTTP不是异步协议。刷新网页上数据的唯一方法是重新加载页面,例如:重新执行SQL查询,解析和显示结果。你可以用AJAX方法做你想做的事。但是,我这样做是为了一个“内部”页面,每5分钟重新加载一次.
<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
// -->
</script>
<title>TITLE</title>
</head>
<body onload="JavaScript:timedRefresh(300000);">
<?php //do the query, display results ...
?>
</body>
</html>发布于 2016-04-07 17:29:31
如果您真的想这样做,您可以每隔5秒执行一次ajax请求,发送与请求一起的旧值,并将其与数据库进行比较,如果触发刷新存在差异,则只能在实际更新时刷新页面。(或者您只需每5秒使用ajax更新一次,看起来比整页刷新要干净得多)
但是,两者都需要轮询,不需要每隔几秒钟就检查一次,这是不容易的。
发布于 2016-04-07 17:00:24
使用下面的mysql
while($row = mysql_fetch_array($retval))
{
echo "Name :{$row['Name']} <br> ".
"Status: {$row['Status']} <br> ".
"--------------------------------<br>";
}https://stackoverflow.com/questions/36482648
复制相似问题