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
探寻PHP脚本不报错的原因
Jun 12 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
php遍历树的常用方法汇总
Jun 18 PHP
非常重要的php正则表达式详解
Jan 04 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 PHP
joomla组件开发入门教程
May 04 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
php注册审核重点解析(数据访问)
May 23 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 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
WordPress判断用户是否登录的代码
2011/03/17 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
vue-resource调用promise取数据方式详解
2017/07/21 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
详细探究Python中的字典容器
2015/04/14 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
大学本科毕业生求职信范文
2013/12/18 职场文书
校三好学生主要事迹
2014/01/11 职场文书
初中考试作弊检讨书
2014/02/01 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
2014年图书室工作总结
2014/12/09 职场文书
总结Python常用的魔法方法
2021/05/25 Python