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
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
php使用timthumb生成缩略图的方法
Jan 22 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
PHP中的函数声明与使用详解
May 27 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
PHP数组基本用法与知识点总结
Jun 02 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中取得URL的根域名的代码
2011/03/23 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
Vue列表渲染的示例代码
2018/11/01 Javascript
js实现select下拉框选择
2020/01/11 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python变量和数据类型详解
2017/02/15 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
Python中常用的内置方法
2019/01/28 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
使用python模拟命令行终端的示例
2019/08/13 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
2014年化妆品销售工作总结
2014/12/01 职场文书
学校食品安全责任书
2015/01/29 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL