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 相关文章推荐
php的控制语句
Oct 09 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
PHP 危险函数全解析
Sep 09 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
PHP 转义使用详解
Jul 15 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
浅谈php冒泡排序
Dec 30 PHP
PHP版微信小店接口开发实例
Nov 12 PHP
Laravel框架查询构造器简单示例
May 08 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
Dec 04 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
Feb 03 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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 swoole process的使用方法
2017/08/26 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
情人节之礼 js项链效果
2012/02/13 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
javascript中this的四种用法
2015/05/11 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python验证码识别的实例详解
2016/09/09 Python
python正则中最短匹配实现代码
2018/01/16 Python
PyQt5实现拖放功能
2018/04/25 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python实现Dijkstra算法
2018/10/17 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
pygame实现非图片按钮效果
2019/10/29 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
购房协议书范本
2014/04/11 职场文书
治超工作实施方案
2014/05/04 职场文书
环保建议书200字
2014/05/14 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2016特色励志班级口号
2015/12/24 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫