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和ACCESS写聊天室(一)
Oct 09 PHP
基于xcache的配置与使用详解
Jun 18 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
php多重接口的实现方法
Jun 20 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
php面向对象编程self和static的区别
May 08 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
PHP多进程简单实例小结
Nov 09 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
一个简单的PHP投票程序源码
2007/03/11 PHP
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
php读取和保存base64编码的图片内容
2017/04/22 PHP
PHP实现简易计算器功能
2020/08/28 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
Python的面向对象编程方式学习笔记
2016/07/12 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
关于爱情的广播稿
2014/01/16 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
电影开国大典观后感
2015/06/04 职场文书
配置nginx负载均衡
2022/05/06 Servers
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python