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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续二
Apr 03 PHP
PHP 类型转换函数intval
Jun 20 PHP
.htaccess文件保护实例讲解
Feb 06 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
php内嵌函数用法实例
Mar 20 PHP
php生成图片验证码
Jun 09 PHP
php数组冒泡排序算法实例
May 06 PHP
Symfony查询方法实例小结
Jun 28 PHP
php 截取中英文混合字符串的方法
May 31 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 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中目录,文件操作详谈
2007/03/19 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
django解决跨域请求的问题
2018/11/11 Python
python对于requests的封装方法详解
2019/01/03 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
用django设置session过期时间的方法解析
2019/08/05 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
公司寄语大全
2014/04/10 职场文书
取保候审保证书
2014/04/30 职场文书
入党综合考察材料
2014/06/02 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
杜甫草堂导游词
2015/02/03 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript