php统计文章排行示例


Posted in PHP onMarch 04, 2014
<?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;
*/
?>
PHP 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
也谈截取首页新闻 - 范例
Oct 09 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP生成plist数据的方法
Jun 16 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
php计算年龄精准到年月日
Nov 17 PHP
在WordPress中使用wp-cron插件来设置定时任务
Dec 10 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 PHP
php不使用插件导出excel的简单方法
Mar 04 #PHP
php无限遍历文件夹示例分享
Mar 04 #PHP
关于js和php对url编码的处理方法
Mar 04 #PHP
php面向对象中的魔术方法中文说明
Mar 04 #PHP
thinkphp实现多语言功能(语言包)
Mar 04 #PHP
thinkphp实现图片上传功能分享
Mar 04 #PHP
php判断是否为json格式的方法
Mar 04 #PHP
You might like
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
react的hooks的用法详解
2020/10/12 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
python单例模式实例分析
2015/04/08 Python
Python set常用操作函数集锦
2017/11/15 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
Python绘制热力图示例
2019/09/27 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Python with标签使用方法解析
2020/01/17 Python
增大python字体的方法步骤
2020/07/05 Python
高考考python编程是真的吗
2020/07/20 Python
python温度转换华氏温度实现代码
2020/12/06 Python
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
美丽人生观后感
2015/06/03 职场文书
2015年教师国培感言
2015/08/01 职场文书