最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

PHP+MySQL统计各地区在线用户数

来源:http://www.erdangjiade.com/ 沐浴春风 2015-06-22 09:29浏览(1965)

当用户访问网站时,更新访问时间,在一定时间内不操作则认为用户不在线。本文中使用PHP记录访客IP,同时通过新浪IP地址接口,获取访客的地理位置(本例只记录省份),并写入mysql表中,即可统计一段时间内的访客总数,也可以查看访客的地区分布。

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。 在线 充值

PHP+MySQL统计各地区在线用户数
分类:统计图 > 数字统计 难易:初级
查看演示 下载资源:

加我微信,拉你进VIP群学习:

下载资源 下载积分: 30 积分

添加当前IP和更新访问时间

$ip = get_client_ip();
$time = time();

$num = mysql_num_rows(mysql_query("select id from online where ip='$ip'"));
if (!$num) { //若online表中没有我的ip,插入ip进行统计
    if ($ip != '127.0.0.1') {
        $api = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip";
        $json = file_get_contents($api);
        $arr = json_decode($json, true);
        $province = $arr['province'];
    } else {
        $province = "本地";
    }
    mysql_query("insert into online (ip,province,addtime) values ('$ip','$province','$time')");
} else { //否则更新我的ip时间
    mysql_query("update online set addtime='$time' where ip='$ip'");
}

统计2小时内在线用户数

$t = $time - 3600 * 2; //2小时内的
$where = " WHERE addtime >= " . $t . "";
$totalOnline = mysql_num_rows(mysql_query("select id from online " . $where . ""));

获取用户ip列表

$sql = "select province,count(*) as total from online " . $where . " group by province   order by total desc";
$list = array();
$query = mysql_query($sql);
$str = '';
while ($row = mysql_fetch_array($query)) {
    $str .= "<li><span>" . $row['total'] . "</span>" . $row['province'] . "</li>";
}

最后显示在线人数$totalOnline,和地区统计在线人数列表$str

<div id="total">在线人数:<span id="onlinenum"><?php echo $totalOnline; ?></span></div>
<ul id="onlinelist">
<?php echo $str; ?>
</ul>
声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/php/246.html
评论1
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 沙发
    09-05 16:18
    昵称
    没什么事情来看看的
1 2