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
一个可以找出源代码中所有中文的工具
Oct 25 PHP
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
php图片验证码代码
Mar 27 PHP
PHP常用函数小技巧
Sep 11 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
smarty内置函数section的用法
Jan 22 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
PHP实现仿Google分页效果的分页函数
Jul 29 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
laravel dingo API返回自定义错误信息的实例
Sep 29 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP获取url的函数代码
2011/08/02 PHP
php实现天干地支计算器示例
2014/03/14 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
js倒计时显示实例
2016/12/11 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
python之wxPython应用实例
2014/09/28 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
python开发之anaconda以及win7下安装gensim的方法
2019/07/05 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
python 实现汉诺塔游戏
2020/11/28 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
韩国商务邀请函
2014/01/14 职场文书
初中班主任评语大全
2014/04/24 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
课外活动实习计划
2015/01/19 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android