欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP与jquery实时显示网站在线人数实例详解

程序员文章站 2024-04-01 22:10:46
我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据。本文将结合实例给大家介绍使用jquery和php来实现动态...

我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据。本文将结合实例给大家介绍使用jquery和php来实现动态数字展示效果。

本例假设要在页面上动态展示(无需刷新整个页面,只是局部刷新动态数字)当前在线用户数,常见在一些统计平台上应用。在html页面中只需定义以下结构:

<div class="count">当前在线:<span id="number"></span></div>

 首先我们要定义一个动画过程,使用jquery的animate()函数实现从一个数字到另一个数字的变换过程,以下magic_number()自定义函数将代码整合如下:

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文件从而达到了实时显示在线人数的功能了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!