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 相关文章推荐
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
PHP中strval()函数实例用法
Jun 07 PHP
php png失真的原因及解决办法
Oct 24 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
PHP+DBM的同学录程序(2)
2006/10/09 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
PHP文件与目录操作示例
2016/12/24 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
python中二维阵列的变换实例
2014/10/09 Python
Python爬豆瓣电影实例
2018/02/23 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
中国梦主题教育活动总结
2014/05/05 职场文书
副总经理任命书
2014/06/05 职场文书
医院搬迁方案
2014/06/14 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书