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 相关文章推荐
为php4加入动态flash文件的生成的支持
Oct 09 PHP
PHP中的extract的作用分析
Apr 09 PHP
PHP 超链接 抓取实现代码
Jun 29 PHP
php下获取客户端ip地址的函数
Mar 15 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
Jun 03 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
JS实现简单打字测试
2020/06/24 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
python整小时 整天时间戳获取算法示例
2019/02/20 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
Python any()函数的使用方法
2019/10/28 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
致跳高运动员广播稿
2014/01/13 职场文书
行政人事岗位职责
2014/03/17 职场文书
小学社团活动总结
2014/06/27 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
小学教师年度个人总结
2015/02/05 职场文书
经营场所证明范本
2015/06/19 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang