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

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP+jquery实时显示网站在线人数的方法。分享给大家供大家参考。具体分析如下:

在线人数最简单的就是直接利用js调用php,这样可以显示出有多少人访问了本站,如果要在用户未刷新页面的状态实时显示用户在线人数,我们可以利用jquery ajax来实现。

我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据。这里我们将结合实例给大家介绍使用jQuery和PHP来实现动态数字展示效果。

本例假设要在页面上动态展示(无需刷新整个页面,只是局部刷新动态数字)当前在线用户数,常见在一些统计平台上应用。在HTML页面中只需定义以下结构:
 

复制代码 代码如下:
<div class="count">当前在线:<span id="number"></span></div>

首先我们要定义一个动画过程,使用jQuery的animate()函数实现从一个数字到另一个数字的变换过程,以下magic_number()自定义函数将代码整合如下:
 
[code]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文件从而达到了实时显示在线人数的功能了。

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据

PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据

思维导图 介绍    承接上文的PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数继续重构方面的内容。   这章主要针对数据的重构。 &nbs...

PHP从零开始打造自己的MVC框架之路由类实现方法分析

PHP从零开始打造自己的MVC框架之路由类实现方法分析

本文实例讲述了PHP从零开始打造自己的MVC框架之路由类实现方法。分享给大家供大家参考,具体如下: 在core目录下,新建一个名为lib的子目录,然后把我们前面写个route.php这个...

php设计模式介绍之编程惯用法第1/3页

php设计模式介绍之编程惯用法第1/3页

在这里总结的许多编程惯用法都是很值得做为单独一个章节的,甚至一本书的。你应该把这章做为PHP模式设计使用惯用法的相关介绍,而且查看一些列出的参考书来进行更深入的学习。 测试你的代码 可能...

php print EOF实现方法

我写段php代码如下: 复制代码 代码如下:<? if(test case) print<<<EOT <....html code....> EOF;...

php对二维数组进行相关操作(排序、转换、去空白等)

技巧提示: array_keys($array) //返回所有键名 array_values($array) //返回所有键值 $result=array_rever...