php流量统计功能的实现代码

  流量统计功能

  显示效果:

  总访问量:399

  今日流量:14

  昨日流量:16

  本代码仅供学习交流,其中必有不妥之处。请见谅!

  --

  -- 表的结构 `mycounter`

  --

  

复制代码 代码如下:

  CREATE TABLE `mycounter` (

  `id` int(11) NOT NULL auto_increment,

  `Counter` int(11) NOT NULL,

  `CounterLastDay` int(10) default NULL,

  `CounterToday` int(10) default NULL,

  `RecordDate` date NOT NULL,

  PRIMARY KEY (`id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ;

  函数过程如下:

  

复制代码 代码如下:

  <?PHP

  public function ShowMyCounter(){

  //定义变量

  $IsGone = FALSE;

  //读取数据

  $querysql = "SELECT * FROM `mycounter` WHERE id = Ƈ' ";

  $queryset = mysql_query($querysql);

  $row = mysql_fetch_array($queryset);

  //获得时间量

  $DateNow = date('Y-m-d');

  $RecordDate = $row['RecordDate'];

  $DateNow_explode = explode("-",$DateNow);

  $RecordDate_explode = explode("-",$RecordDate);

  //判断是否已过去一天

  if( $DateNow_explode[0] > $RecordDate_explode[0]) $IsGone = TRUE;

  else if( $DateNow_explode[0] == $RecordDate_explode[0] ){

  if( $DateNow_explode[1] > $RecordDate_explode[1] ) $IsGone = TRUE;

  else if( $DateNow_explode[1] == $RecordDate_explode[1] ){

  if( $DateNow_explode[2] > $RecordDate_explode[2] ) $IsGone = TRUE;

  }else BREAK;

  }else BREAK;

  //根据IsGone进行相应操作

  IF($IsGone) {

  $RecordDate = $DateNow;

  $CounterToday = 0;

  $CounterLastDay = $row['CounterToday'];

  $upd_sql = "update mycounter set RecordDate = '$RecordDate',CounterToday = '$CounterToday',CounterLastDay = '$CounterLastDay' WHERE id = Ƈ' ";

  mysql_query($upd_sql);

  }

  //再次获取数据

  $querysql = "SELECT * FROM `mycounter` WHERE id = Ƈ' ";

  $queryset = mysql_query($querysql);

  $Counter = $row['Counter'];

  $CounterToday = $row['CounterToday'];

  $CounterLastDay = $row['CounterLastDay'];

  if($row = mysql_fetch_array($queryset) ){

  if( $_COOKIE["user"] != "oldGuest" ){

  $Counter = ++$row['Counter'];

  $CounterToday = ++$row['CounterToday'];

  $upd_sql = "update mycounter set counter = '$Counter',CounterToday = '$CounterToday' WHERE id = Ƈ' ";

  $myquery = mysql_query($upd_sql);

  }

  echo "总访问量:".$Counter;

  echo "

  ";

  echo "今日流量:".$CounterToday;

  echo "

  ";

  echo "昨日流量:".$CounterLastDay;

  }else{//如果数据库为空时,相应的操作

  }

  }

  ?>

  当然,需要在文件第一行开始写出如下代码:

  

复制代码 代码如下:

  <?PHP

  session_start();

  if( !isset($_COOKIE["user"]) ){

  setcookie("user","newGuest",time()+3600);

  }else {

  setcookie("user","oldGuest");

  }

  ?>