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截取中文字符串的问题
Jul 12 PHP
最省空间的计数器
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
PHP 简单日历实现代码
Oct 28 PHP
php 抽象类的简单应用
Sep 06 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
php三种实现多线程类似的方法
Oct 30 PHP
通过php动态传数据到highcharts
Apr 05 PHP
PDO::commit讲解
Jan 27 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 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
我的论坛源代码(四)
2006/10/09 PHP
生成sessionid和随机密码的例子
2006/10/09 PHP
浅析php学习的路线图
2013/07/10 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
详解php中 === 的使用
2016/10/24 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
jQuery的三种$()
2009/12/30 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
jquery选择器简述
2015/08/31 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
原生JS无缝滑动轮播图
2019/10/22 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
python简单程序读取串口信息的方法
2015/03/13 Python
python中的字典操作及字典函数
2018/01/03 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
工程专业应届生求职信
2014/02/19 职场文书
代理协议书
2014/04/22 职场文书
小学运动会口号
2014/06/07 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
停课通知书
2015/04/24 职场文书
安全生产奖惩制度
2015/08/06 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python