php實現從本網站每天出站串連向目標網站貢獻的IP和PV的統計_PHP教程

來源:互聯網
上載者:User
存入資料庫: connect_errno) { die('資料庫連失敗:'.$mysqli->connect_error); } $db->query('set names utf8'); $sql = "select * from dede_tongji where sourceUrl='$sourceUrl' and aimUrl='$aimUrl' and date='$time'"; $res = $db->query($sql); www.2cto.com //首先查看現在資料庫這一天有沒有這個連結的資料,如果沒有則建立,否則根據cookie值,來判斷IP和Pv的分別增加多少。 if ( $row = $res->fetch_assoc() ){ $pvSum = $row['pvSum'] + 1; if( $_COOKIE['iptag'] == $cookieTag ){ $sql = "update dede_tongji set pvSum = '$pvSum' where sourceUrl='$sourceUrl' and aimUrl='$aimUrl' and date='$time' "; $db->query($sql); //否則只是ip 和pv 增加一 }else{ $ipSum = $row['ipSum'] + 1; $sql = "update dede_tongji set ipSum = '$ipSum',pvSum = '$pvSum' where sourceUrl='$sourceUrl' and aimUrl='$aimUrl' and date='$time' "; $db->query($sql); } }else{ //資料庫中沒有則添加一條新資料 $sql = "insert into dede_tongji (sourceUrl,aimUrl,ipSum,pvSum,date) values ('$sourceUrl','$aimUrl',1,1,'$time')"; if( $db->query($sql)){ }else{ $db->error; } } //利用js實現跳轉 echo ""; ?> 從資料庫中查詢,這裡使用到了一個分頁類在我的令一片部落格裡大家可以找到,關於這個分頁類的用法 結合這個例子和分頁類的成員函數可以很好的理解,主要是在進行資料庫查詢時sql語句帶上 limit 限定條件就可以了,用到的分頁類是:page.class.php下面是從資料庫中查詢前台顯示資料和分頁類的使用,還有一些控制日期的js '; //echo $date; //exit(); //串連資料庫 $db = new MySQLi('localhost','a','acyr','www_a_com'); if ($mysqli->connect_errno) { die('資料庫連失敗:'.$mysqli->connect_error); } $db->query('set names utf8'); //如果現在的查詢日期是當前日期,則全部輸出且按日期排序 if($date==$time){ //獲得這種情況下的總條數,用於分頁顯示(分頁類要用到這個參數) $sql = "select count(*) from dede_tongji where sourceUrl='$wangzhan' order by date desc"; $row = $db->query($sql)->fetch_row(); $allRows = $row[0]; //總條數 $pageList = new Page($allRows,2,4,array('pre'=>'上一頁','next'=>'下一頁')); //$res = $db->query( "select * from dede_tongji where sourceUrl='$wangzhan' order by date desc {$pageList->limit()}" ); $sql = "select * from dede_tongji where sourceUrl='$wangzhan' order by date desc {$pageList->limit()}"; //echo $sql; $res = $db->query($sql); $resArr = array(); while( $row = $res->fetch_assoc()){ $resArr[] = $row; } $res->free_result(); /*echo '
';          var_dump($resArr);          foreach( $resArr as $v ){              echo  $v['aimUrl'];          }*/         //print_r($res);          //exit();      }else{          //獲得這種情況下的總條數,用於分頁顯示          $sql = "select count(*) from dede_tongji where sourceUrl='$wangzhan' and date='$date'";          $row = $db->query($sql)->fetch_row();          $allRows = $row[0];  //總條數          $pageList = new Page($allRows,2,4,array('pre'=>'上一頁','next'=>'下一頁'));          $sql = "select * from dede_tongji where sourceUrl='$wangzhan' and date='$date' {$pageList->limit()} ";          //echo $sql;          $res = $db->query($sql);          $resArr = array();          while( $row = $res->fetch_assoc()){                  $resArr[] = $row;          }          $res->free_result();          //print_r($res);          //exit();      }   ?>          統計結果                   
 
統計網站 出站的串連 IP(獨立) PV 日期
pre(); echo $pageList->first();echo $pageList->strList(); echo $pageList->end();echo $pageList->next(); echo " 請選擇跳轉到第: ";echo $pageList->selectList().' 頁'; } ?> 最後還有就是資料庫表的結構,這樣只有一張表 在pv記錄上還有一些小誤差,因為這裡主要是用 cookie控制的時間,所以有誤差 如果有高手可以最佳化資料庫設計用ip來控制,能力有限,望大家見諒: CREATE TABLE `dede_tongji` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `sourceUrl` varchar(255) NOT NULL, `aimUrl` varchar(255) NOT NULL, `ipSum` int(10) unsigned NOT NULL, `pvSum` int(10) unsigned NOT NULL, `date` date NOT NULL,

http://www.bkjia.com/PHPjc/477856.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477856.htmlTechArticle存入資料庫: ?php header(Content-type: text/html; charset=utf-8); //echo $_COOKIE[iptag]; date_default_timezone_set(PRC); //目標網站url $aimUrl = $_GET[r]; //來源網站...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.