php+jquery实时显示网站在线人数实例解析

发布时间:2021-01-04编辑:脚本学堂
有关php+jquery实时显示网站在线人数的一段代码,多用于当前在线人数,当前交易总额,当前汇率等,前端页面需要实时刷新获取最新数据。

PHP+jquery实时显示网站在线人数

在页面上显示出有多少人访问了本站,如果要在用户未刷新页面的状态实时显示用户在线人数,利用jquery ajax来实现。

在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等,前端页面需要实时刷新获取最新数据。

本节介绍使用jQuery和PHP来实现动态数字展示效果。
本例假设要在页面上动态展示(无需刷新整个页面,只是局部刷新动态数字)当前在线用户数,常见在一些统计平台上应用。

在HTML页面中只需定义以下结构:
 

<div class="count">当前在线:<span id="number"></span></div>
 

首先,要定义一个动画过程,使用jQuery的animate()函数实现从一个数字到另一个数字的变换过程,以下magic_number()自定义函数将代码整合如下:
 

复制代码 代码示例:
function magic_number(value) {
var num = $("#number");
num.animate({count: value}, {
duration: 500,
step: function() {
num.text(String(parseInt(this.count)));
}
});
};

然后,update()函数使用了jQuery的$.getJSON()向后台number.php发送了一个ajax请求,在得到PHP相应后,调用magic_number()展示最新的数字。

为了能看到更好的效果,使用setInterval()设置代码执行的间隔时间。
 

复制代码 代码示例:
function update() {
$.getJSON("number.php?jsonp=?", function(data) {
magic_number(data.n);
});
};
 
setInterval(update, 5000); //5秒钟执行一次
update();

PHP代码部分:
实际项目中,会使用PHP获取数据库中的最新数据,然后通过PHP返回给前端。

本例,使用随机数字,最后以json格式返回给前端js,number.php代码:
 

复制代码 代码示例:
$total_data = array(
'n' => rand(0,999)
);
echo $_GET['jsonp'].'('. json_encode($total_data) . ')';

利用js settimeout实现过几秒加载一个php文件从而达到了实时显示在线人数的功能了。