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

2016-02-19 09:21 5 1 收藏

下面图老师小编跟大家分享基于数据库的在线人数日访问量等统计,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - Web开发 】

可以实现在线人数统计,日访问量统计,月访问量统计。。。。。

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

来源:https://www.tulaoshi.com/n/20160219/1590516.html

延伸阅读
标签: ASP
  网上介绍用ASP访问INTERBASE数据库的资料很少,经过几天的奋斗终于成功的解决了这个问题.现把部份代码和一些资料贡献给大家. <%@ language="vbscript"%         str1 = "Driver={XTG Systems Interbase6 ODBC driver};uid=sysdba;pwd=masterkey;Data Source=ly" Set conn = Server.Creat...
/** * @Purpose: Mysql数据库访问类 * @Package: * @Author: lisen@sellingclub.cn * @Modifications: * @See: * @Time: 2008.10.10 */ class DB_MYSQL { //============================================================ private $Host = 'localhost'; private $Database = 'db_name'; private $User = 'user'; private $Passwo...
标签: Web开发
首先写个类:     import javax.servlet.*;     import javax.servlet.http.*;     public class SessionCounter implements HttpSessionListener {     private static int activeSessions = 0;     public void sessionCreated(HttpSessionEvent se) { &nb...
标签: Web开发
我们先新建一个ACCESS数据库 内容为 表名:zai 字段为 1.ip 2.time 建立一个文件为index.asp 然后就如下程序! % '=================================================================================================== ' '******************** 冰翎在线人数统计程序 V2.0 ****************************** ' ' 本站程序由 ...
标签: SQLServer
  在第一部分,我们讨论了如何优化 ASP 代码。在这一部分,我们把重点放在数据访问上。 一般情况下,数据访问时间要比 ASP 代码解释,编译时间长,不要让数据检索成为影响 ASP 性能的瓶颈。 首先,讲一些老生常谈的话。比如:需要声明变量,要用 Response.Write SQL_string 来进行调试,要用 On Error Resume Next 来捕获错误。不要在 ...

经验教程

964

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部