当前位置: 首页 > 图文教程 > 网络编程 > PHP > 基于数据库的在线人数,日访问量等统计

PHP
MySQL手册版本 5.0.20-MySQL优化(四) (1)(3)
MySQL手册版本 5.0.20-MySQL优化(四) (1)(2)
Navicat MySQL图形客户端mac新版发布
MySQL手册版本 5.0.20-MySQL优化(四) (1)
MySQL手册版本 5.0.20-MySQL优化(二) (1)(4)
MySQL手册版本 5.0.20-MySQL优化(二) (1)(3)
MySQL手册版本 5.0.20-MySQL优化(二) (1)(2)
MySQL手册版本 5.0.20-MySQL优化(二) (1)
经验总结:mysql 的一些基本应用
如何在Windows上配置并整合PHP和MySQL(1)
如何在Windows上配置并整合PHP和MySQL(2)
程序员最容易犯的五个PHP数据库问题及解释
如何利用MySQL加密函数保护Web网站敏感数据
SQL Server日志文件总结及充满处理方式
用Apache Geronimo创建并部署blog和wiki 模块
对SQL数据库定期进行收缩 减小日志存储压力
从4.0到5.1 为什么MySQL却被冠名"玩具数据库"
在数据库中 如何进行分类分组并总计SQL信息
深入浅出举例应用 SQL数据库使用系列
实例:用触发器生成数据库表的数据操作日志

PHP 中的 基于数据库的在线人数,日访问量等统计


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 257 ::
收藏到网摘: n/a

可以实现在线人数统计,日访问量统计,月访问量统计。。。。。
<?
$sql = "CREATE TABLE guestinfo(id integer DEFAULT '0' NOT NULL AUTO_INCREMENT,
ipaddress varchar(20),
host varchar(20),
cometime datetime,
refreshtime datetime,
leavetime datetime,
PRIMARY KEY(id),
UNIQUE id(id),
index guestinfo(id)
)";
mysql_query($sql, $connect);
?>
<?
$duration = 300;
$sql = "select * from guestinfo where (leavetime is null or leavetime='') and ( UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(refreshtime))>$duration";
$result=@mysql_query($sql);
while($row=@mysql_fetch_array($result))
{
$id = $row['id'];
$sql = "update guestinfo set leavetime=now() where id='$id'";
mysql_query($sql);
}
$sql = "select * from guestinfo where ipaddress='$REMOTE_ADDR' and (leavetime is null or leavetime='')";
$result = @mysql_query($sql);
if($row=@mysql_fetch_array($result))
{
$id = $row['id'];
$sql="update guestinfo set refreshtime=now() where id='$id'";
mysql_query($sql);
}
else
{
$sql = "insert into guestinfo(ipaddress,host,cometime,refreshtime)
values('$REMOTE_ADDR','$REMOTE_HOST',now(),now())";
mysql_query($sql);
}
$date= mktime(0,0,0,date("m"),date("d"),date("Y"));
$sql = "select count(*) from guestinfo where UNIX_TIMESTAMP(refreshtime)> $date";
$result = mysql_query($sql);
if($result)
{
$row = mysql_fetch_array($result);
$todayaccess = $row["count(*)"];
}
else $todayaccess = 0;
$sql = "select count(*) from guestinfo where leavetime is null or leavetime=''";
$result = mysql_query($sql);
if($result)
{
$row = mysql_fetch_array($result);
$nowonline= $row["count(*)"];
}
else $nowonline = 0;
mysql_close($connect);
?>
include("guest.php");
<head>
<meta http-equiv="Refresh" content=<? echo $duration?>; url=<? echo $PHP_SELF; ?>">
</head>
欢迎来我的网站来灌水,有什么问题,给我留言。