Cod*_*rax 4 html php mysql ajax html5
很抱歉,如果这是一个全新的问题,但我似乎无法在网上找到我的问题的任何答案...
我正在建立一个网站,它取决于页面上的一些数据需要自动更新....
更具体地说,当在MySQL数据库中进行更改时.例如,假设数据库中一行的值为10,并且更改为11,我需要页面自动从数据库中获取该值,并在站点上更新它.另外,如果可能的话,当实际数据发生变化时,有什么方法可以让数字"弹出"一点点?
<div class="container hero-unit">
<h1>Test Data Change</h1>
<p>231</p>
<p>7</p>
<p>14532</p>
</div>
Run Code Online (Sandbox Code Playgroud)
假设这些数字是从数据库中提取的,当对数据库进行更改时,如何使用"AJAX"自动更改此数据?
如果这是可能的,我会感激每一个贡献.....
这个过程被称为polling.基本上有这样做这是两种方式long polling和short polling
在Short polling你基本上做一个计时器,并从一个php文件获取信息,每隔几秒左右输出一次数据库数据然后你比较数据,看看数据是否已更新.
然后有long polling一个首选,因为它减少了对服务器的压力.FB使用long polling.在这个过程中,你基本上做的是你向一个php文件发出请求,并且php文件在数据库中有更新之前不会响应,所以不是每隔几秒就向php文件发出一个ajax请求,而是每分钟完成一次或者所以减少对服务器的压力.
你可以在这里找到长轮询示例https://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery
更多示例https://gist.github.com/jhbsk/4353139
如果您使用 php,那么您可以遵循以下代码-
在你的html中,
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#load_tweets').load('record_count.php').fadeIn("slow");
}, 1000); // refresh every 1000 milliseconds
<body>
<div id="load_tweets"> </div>
</body>
Run Code Online (Sandbox Code Playgroud)
在你的 PHP (record_count.php) 文件中 -
<?php
include("db.php");
$search_word=$_GET['q'];
$sql = mysqli_query($db,"Select number form Users");
$record_count=mysqli_num_rows($sql);
//Display count.........
echo $record_count;
?>
Run Code Online (Sandbox Code Playgroud)
参考:http ://www.9lessons.info/2009/07/auto-load-refresh-every-10-seconds-with.html