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


Posted in PHP onJanuary 04, 2015

本文实例讲述了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 无限极分类
Mar 27 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
php设计模式之命令模式的应用详解
May 21 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
php中文验证码实现方法
Jun 18 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
php实现Session存储到Redis
Nov 11 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
thinkphp备份数据库的方法分享
Jan 04 #PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 #PHP
php+mysql实现用户注册登陆的方法
Jan 03 #PHP
php静态文件生成类实例分析
Jan 03 #PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 #PHP
php中socket通信机制实例详解
Jan 03 #PHP
php读取csv数据保存到数组的方法
Jan 03 #PHP
You might like
广播爱好者需要了解的天线知识
2021/03/01 无线电
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
php 操作符与控制结构
2012/03/07 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
Python栈类实例分析
2015/06/15 Python
python实现给数组按片赋值的方法
2015/07/28 Python
python奇偶行分开存储实现代码
2018/03/19 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
外企测试工程师面试题
2015/02/01 面试题
25岁生日感言
2014/01/13 职场文书
教学大赛获奖感言
2014/01/15 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
颐和园的导游词
2015/01/30 职场文书
入党培养人考察意见
2015/06/08 职场文书
爱国主义影片观后感
2015/06/18 职场文书