萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php統計文章排行示例

php統計文章排行示例

 這篇文章主要介紹了php統計文章排行示例,代碼可以用在dedemcs上按月、周、當天統計文章,需要的朋友可以參考下

     代碼如下: <?php /**  *  * 統計軟件與文章等月、周、當天排行  *  * $field_id(文章ID)  */ //統計月、周、當天排行的方法 require_once(dirname(__FILE__)."/../include/common.inc.php"); function countdown($field_id){ date_default_timezone_set('Asia/Shanghai'); //設置默認時區 global $dsql; $re_total = 1; $tableName = '#@__tongji'; $nowDateArray  = getdate(time()); $sql_tongji = "select * from `$tableName` where aid=$field_id"; $rs = $dsql->ExecuteNoneQuery2($sql_tongji); //如果不存在此篇文章信息,則新插入一條 if($rs <= 0){ //獲取欄目ID值 $sql_typeid = "select typeid from `#@__archives` where id=$field_id"; $t_row = $dsql->GetOne($sql_typeid); $query = " INSERT INTO `$tableName` VALUES($field_id,$t_row[typeid],1,1,1,1,$nowDateArray[0]); "; $dsql->ExecNoneQuery($query); }else{  $result = $dsql->GetOne($sql_tongji);  $oldTimeStamp = $result['lasttime'];   //最後點擊時間   $m_total =      $result['m_total'];    //月點擊  $w_total =      $result['w_total'];    //周點擊  $d_total =      $result['d_total'];    //日點擊   $t_total =      $result['t_total'];    //總點擊   $oldDateArray   =  getdate($oldTimeStamp);     //統計當月 if($nowDateArray["year"] == $oldDateArray["year"] && $nowDateArray["mon"] == $oldDateArray["mon"]){   $m_total++;  }else{   $m_total = 1;   }   //統計本周 $tmpStartDate = mktime(0,0,0,$nowDateArray[ "mon"],$nowDateArray[ "mday"],$nowDateArray[ "year"]) - ($nowDateArray[ "wday "] * 86400);  $tmpEndDate = mktime(23,59,59,$nowDateArray[ "mon"],$nowDateArray[ "mday"],$nowDateArray[ "year"]) + ((6 - $nowDateArray[ "wday"]) * 86400);  if($oldTimeStamp >= $tmpStartDate && $oldTimeStamp <= $tmpEndDate){   $w_total++;  }else{   $w_total = 1;   }   //統計今日 $dayStart   =mktime(0,0,0,$nowDateArray[ "mon"],$nowDateArray[ "mday"],$nowDateArray[ "year"]);  //當天開始時間戳 $dayEnd   =mktime(23,59,59,$nowDateArray[ "mon"],$nowDateArray[ "mday"],$nowDateArray[ "year"]); //當天結束時間戳 if($oldTimeStamp >= $dayStart && $oldTimeStamp <= $dayEnd){   $d_total++; }else{   $d_total = 1; }  $t_total++; //更新統計數  $dsql->ExecuteNoneQuery("update $tableName set m_total=$m_total,w_total=$w_total,d_total=$d_total,t_total=$t_total,lasttime=$nowDateArray[0] where aid=$field_id");  $dsql->ExecuteNoneQuery("update dede_archives set click=$t_total where id=$field_id");  $re_total = $t_total; } return $re_total; }   countdown($aid); //方法調用   /* //mysql表結構   CREATE TABLE IF NOT EXISTS `dede_tongji` (   `aid` int(11) NOT NULL,   `cid` smallint(5) NOT NULL,   `tid` smallint(5) NOT NULL,   `m_total` int(11) NOT NULL DEFAULT '1',   `w_total` int(11) NOT NULL DEFAULT '1',   `d_total` int(11) NOT NULL DEFAULT '1',   `t_total` int(11) NOT NULL DEFAULT '1',   `lasttime` int(12) NOT NULL,   PRIMARY KEY (`aid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; */ ?>  
copyright © 萬盛學電腦網 all rights reserved