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 相关文章推荐
MySQL GBK→UTF-8编码转换
May 24 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
解析link_mysql的php版
Jun 30 PHP
PHP通过API获取手机号码归属地
May 28 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
PHP实现的观察者模式实例
Jun 21 PHP
Yii2 queue的队列使用详解
Jul 19 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
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
php适配器模式简单应用示例
2019/10/23 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
JavaScript闭包详解
2015/02/02 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
vue实现微信分享功能
2018/11/28 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
大学生实习期自我评价范文
2013/10/03 职场文书
法语专业求职信
2014/07/20 职场文书
2014年底工作总结
2014/12/15 职场文书
感恩节寄语2015
2015/03/24 职场文书
高中班主任心得体会
2016/01/07 职场文书