我有PHP / MySql页面。因此,当页面打开时,在MySql数据库中检查行,其中一列显示行状态为“正在加载”,而在html用户中则显示“记录正在加载”。如何在不刷新页面的情况下查看记录状态?例如,是带有“正在加载记录”消息的oppened页面,当MySql中的另一个进程更改值时,消息会自动消失,无需刷新页面。
答案 0 :(得分:2)
解决方案是使用Ajax。该解决方案使用jQuery ajax。我们有一个提取信息的.php页面,然后是一个用于显示的html页面。
myphp.php
<?php
$res = mysql_query("SELECT * FROM mytable") or die(mysql_error());
$data = mysql_fetch_assoc($res);
echo $data['load_status'];
mysql_free_result($res);
?>
myhtml.html
<!doctype html>
<html>
<head>
<title>My Page</title>
</head>
<body>
<p id="load_status"></p>
<script type="text/javascript" src="/path/to/jquery.js"></script>
<script type="text/javascript">
setInterval(function()
{
$.ajax({url:"myphp.php", type:"GET", async:true, cache:false, success:function(result)
{
$("#load_status").html(result);
}});
},1000);
</script>
</body>
</html>
上述演示将每秒更新一次负载状态。您需要从jquery.com下载jquery,然后通过脚本标记的src属性将其包含到您的html页面中。如果您从未知道,这种刷新页面内容而无需重新加载页面的技术称为ajax。
所有最好的兄弟
答案 1 :(得分:0)
您需要在页面中添加javascript。使用setTimeout以一定间隔轮询服务器(php),生成检索新数据的ajax请求。您可以向php脚本发送当前值,以便在有新数据时只需输出。
我发现php脚本最简单的方法就是发送实际的HTML,所以你只需要替换div的内容。您可能希望使用jQuery来简化ajax请求并修改页面。但是首先向服务器获取一个简单的ajax请求。