php统计文章排行示例_PHP教程
Jul 13, 2016 am 10:37 AM
/**
*
* 统计软件与文章等月、周、当天排行
*
* $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 = 'dede_tongji';
$nowDateArray = getdate(time());
$sql_tongji = "select * from `$tableName` where aid=$field_id";
$rs = $dsql->ExecuteNoneQuery2($sql_tongji);
//如果不存在此篇文章信息,则新插入一条
if($rs //获取栏目ID值
$sql_typeid = "select typeid from `dede_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 $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 $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;
*/
?>

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
