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开发模式(简写版)
Mar 15 PHP
Smarty安装配置方法
Apr 10 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
PHP编码规范的深入探讨
Jun 06 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
PHP中的访问修饰符简单比较
Feb 02 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
模仿OSO的论坛(五)
2006/10/09 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
交通专业个人自荐信格式
2013/09/23 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
2016猴年春节慰问信
2015/11/30 职场文书