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 相关文章推荐
php4的session功能评述(二)
Oct 09 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
详谈PHP编码转换问题
Jul 28 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP设计模式之PHP迭代器模式讲解
Mar 22 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脚本数据库功能详解(中)
2006/10/09 PHP
非常好的php目录导航文件代码
2006/10/09 PHP
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
Python获取当前时间的方法
2014/01/14 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
TheFork葡萄牙:欧洲领先的在线餐厅预订平台
2019/05/27 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
网络技术支持面试题
2013/04/22 面试题
销售行业个人求职自荐信
2013/09/25 职场文书
文明村创建实施方案
2014/03/27 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
食品卫生管理制度
2015/08/06 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
2019军训心得体会
2019/06/27 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers