php統(tǒng)計(jì)文章排行示例
<?php
/**
*
* 統(tǒng)計(jì)軟件與文章等月、周、當(dāng)天排行
*
* $field_id(文章ID)
*/
//統(tǒng)計(jì)月、周、當(dāng)天排行的方法
require_once(dirname(__FILE__)."/../include/common.inc.php");
function countdown($field_id){
date_default_timezone_set('Asia/Shanghai'); //設(shè)置默認(rèn)時(shí)區(qū)
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']; //最后點(diǎn)擊時(shí)間
$m_total = $result['m_total']; //月點(diǎn)擊
$w_total = $result['w_total']; //周點(diǎn)擊
$d_total = $result['d_total']; //日點(diǎn)擊
$t_total = $result['t_total']; //總點(diǎn)擊
$oldDateArray = getdate($oldTimeStamp);
//統(tǒng)計(jì)當(dāng)月
if($nowDateArray["year"] == $oldDateArray["year"] && $nowDateArray["mon"] == $oldDateArray["mon"]){
$m_total++;
}else{
$m_total = 1;
}
//統(tǒng)計(jì)本周
$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;
}
//統(tǒng)計(jì)今日
$dayStart =mktime(0,0,0,$nowDateArray[ "mon"],$nowDateArray[ "mday"],$nowDateArray[ "year"]); //當(dāng)天開始時(shí)間戳
$dayEnd =mktime(23,59,59,$nowDateArray[ "mon"],$nowDateArray[ "mday"],$nowDateArray[ "year"]); //當(dāng)天結(jié)束時(shí)間戳
if($oldTimeStamp >= $dayStart && $oldTimeStamp <= $dayEnd){
$d_total++;
}else{
$d_total = 1;
}
$t_total++;
//更新統(tǒng)計(jì)數(shù)
$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); //方法調(diào)用
/*
//mysql表結(jié)構(gòu)
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;
*/
?>
- 使用php統(tǒng)計(jì)字符串中中英文字符的個(gè)數(shù)
- php中3種方法統(tǒng)計(jì)字符串中每種字符的個(gè)數(shù)并排序
- php實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站在線人數(shù)的方法
- PHP統(tǒng)計(jì)數(shù)值數(shù)組中出現(xiàn)頻率最多的10個(gè)數(shù)字的方法
- PHP遞歸遍歷指定目錄的文件并統(tǒng)計(jì)文件數(shù)量的方法
- php模仿asp Application對(duì)象在線人數(shù)統(tǒng)計(jì)實(shí)現(xiàn)方法
- PHP統(tǒng)計(jì)目錄大小的自定義函數(shù)分享
- PHP實(shí)現(xiàn)繪制3D扇形統(tǒng)計(jì)圖及圖片縮放實(shí)例
- PHP遍歷目錄并返回統(tǒng)計(jì)目錄大小
- php簡單統(tǒng)計(jì)字符串單詞數(shù)量的方法

從零開始學(xué)YII2框架(四)擴(kuò)展插件yii2-kartikgii

網(wǎng)頁游戲開發(fā)入門教程三(簡單程序應(yīng)用)

php獲取用戶真實(shí)IP和防刷機(jī)制的實(shí)例代碼

thinkphp3.2.2實(shí)現(xiàn)生成多張縮略圖的方法

Yii2實(shí)現(xiàn)增刪改查后留在當(dāng)前頁的方法詳解

PHP圖形計(jì)數(shù)器程序顯示網(wǎng)站用戶瀏覽量

PHP數(shù)據(jù)庫鏈接類(PDO+Access)實(shí)例分享