$conn
=
mysql_select_db('db_name');
//数据库名
mysql_query('set
names
#$res
mysql_query('select
count(*)
from
user',$conn);
//统计user表里总共有多少条数据
*
//把user里面的数据全部显示出来
$arr
array();
while($data
mysql_fetch_assoc($res))
{
$arr[]
$data;
}
print_r($arr);
可以依次把上面查询语句前面的注释去掉查看效果
您好,很高兴回答您的问题,希望我的回答能帮助到您,蟹蟹
用户在线时长计算,首先,用户登录成功把登录时间以及用户id保存在session中
当用户退出时,当前时间减去登录时间就是用户在线时长
//用户登录
public?function?dologin(){
$adminname?=?I("param.adminname","","trim");//用户名
$password?=?I("param.password","","trim");//密码
$data['login_time']?=?time();
$is_find?=?M("users_admin")-where($where)-find();
if($is_find){
$result?=?M("users_admin")-where($where)-setField($data);
if?($result){
$_SESSION['uid']?=?$is_find['id'];
$_SESSION['login_time']?=?$data['login_time'];
echo("登录成功");
}?
//用户退出代码
public?function?logout(){
$login_time?=?$_SESSION['login_time'];
$now?=?time();
$line_time?=?$now-$login_time;
$result?=?M("users_admin")-where("id?=?".$_SESSION['uid'])-setField('line_time',$line_time);
session(null);
echo("成功退出");
"用户退出或者关闭浏览器SESSION消失的时候在线用户表删除相对应的数据"
这里不可行..服务器没办法获取这个信息的.都是被动请求的.
要换个思路,要用js或者其它方式定时触发删除..
数据库还要记录IP,记录最近一次触发时间.
原理:根据不同的IP统计出当前有多少人在线.
实现方式:可以用数据库,也可以用文本.
我这里用了文本实现.
$user_online?=?"count.php";?//?保存人数的文件
touch?(?$user_online?);?//?如果没有此文件,则创建
$user_arr?=?file_get_contents?(?$user_online?);
$user_arr?=?explode?(?'#',?rtrim?(?$user_arr,?'#'?)?);
print_r?(?$user_arr?);
$temp?=?array?();
foreach?(?$user_arr?as?$value?)?{
$user?=?explode?(?",",?trim?(?$value?)?);
if?(($user?[0]?!=?getenv?(?'REMOTE_ADDR'?))?($user?[1]?time?()))?{?//?如果不是本用户IP并时间没有超时则放入到数组中
array_push?(?$temp,?$user?[0]?.?","?.?$user?[1]?);
array_push?(?$temp,?getenv?(?'REMOTE_ADDR'?)?.?","?.?(time?()?+?($timeout))?.?'#'?);?//?保存本用户的信息
$user_arr?=?implode?(?"#",?$temp?);
//?写入文件
$fp?=?fopen?(?$user_online,?"w"?);
flock?(?$fp,?LOCK_EX?);?//?flock()?不能在NFS以及其他的一些网络文件系统中正常工作
fputs?(?$fp,?$user_arr?);
flock?(?$fp,?LOCK_UN?);
fclose?(?$fp?);
echo?"当前有"?.?count?(?$temp?)?.?"人在线";
先来创建数据库.
CREATE TABLE IF NOT EXISTS +ad_count+ (
+ad_datetime+ datetime default NULL,
PRIMARY KEY (+ad_id+)
数据创建好了我们就开始写程序了.数据连接我不不写了,
php
require_once("......省了");
$ad_id =get_value('ad_id','');这里下面有讲
if(is_numeric( $ad_id ) ){
$ad_select="select ad_id,ad_url from ad_count where ad_id='$ad_id' limit 1";
$ad_update="Update ad_count set ad_hit=ad_hit+1 where ad_id='$ad_id' limit 1";
$ad_result=mysql_query($ad_select) or die('id error');
if( mysql_num_rows( $ad_result) ){
mysql_query($ad_update);
$ad_rs=mysql_fetch_array($ad_result);
header("location:".$ad_rs['ad_url']);
mysql_free_result($ad_rs);
function htmltohtml($Str){
$temp =str_replace('','',$Str);
$temp =addslashes($Str);
return $temp;
function get_value($value,$para){
return htmltohtml(empty($para)?(isset($_GET[$value])?$_GET[$value]:''):(isset($_POST[$value])?$_POST[$value]:''));
然后我们再在要显示广告的地方如下写.
统计,就是把基本的数据,整合起来.
用到sql的,有group by 功能,count功能,order by功能等等.
sql将收集的数据,进行统计分析.
一般情况下,sql处理后得到的数据,还要通过php的逻辑来进行整理.
以一定的格式,展示到前台.
一般都是以数组的方式展示,这也是数据结构的概念.
看这张图片,基本想想结构大概为
如果用php展示成上面的结构的话,就很好处理了.
以上就是土嘎嘎小编为大家整理的php统计用户数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!