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

发表于:2007-07-01来源:作者:点击数: 标签:
可以实现在线人数统计,日访问量统计,月访问量统计。。。。。 ? $sql = CREATE TABLE guestinfo(id integer DEFAULT @#0@# NOT NULLAUTO_INCREMENT, ipaddress varchar(20), hostvarchar(20), cometimedatetime, refreshtime datetime, leavetimedatetime,
可以实现在线人数统计,日访问量统计,月访问量统计。。。。。

<?
$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);
        $todayaclearcase/" target="_blank" >ccess = $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>
欢迎来我的网站来灌水,有什么问题,给我留言。

原文转自:http://www.ltesting.net