检查MySql记录而不刷新页面

时间:2014-01-16 18:33:03

标签: php mysql

抱歉我的英语。

我有PHP / MySql页面。因此,当页面打开时,在MySql数据库中检查行,其中一列显示行状态为“正在加载”,而在html用户中则显示“记录正在加载”。如何在不刷新页面的情况下查看记录状态?例如,是带有“正在加载记录”消息的oppened页面,当MySql中的另一个进程更改值时,消息会自动消失,无需刷新页面。

2 个答案:

答案 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请求。