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

  •   2009-08-01/08:16
  • 可以实现在线人数统计,日访问量统计,月访问量统计。。。。。

    <?
    $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>
    欢迎来我的网站来灌水,有什么问题,给我留言。

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多