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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
php 保留字列表
Oct 04 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
PHP实现数组递归转义的方法
Aug 28 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
php中pcntl_fork详解
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
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
vue组件学习教程
2017/09/09 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python动态加载变量示例分享
2014/02/17 Python
python实现sublime3的less编译插件示例
2014/04/27 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
python中set()函数简介及实例解析
2018/01/09 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
Delphi CS笔试题
2014/01/04 面试题
后勤采购员岗位职责
2013/12/19 职场文书
揠苗助长教学反思
2014/02/04 职场文书
小学教师师德感言
2014/02/10 职场文书
五四青年节的活动方案
2014/08/20 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
青年联谊会致辞
2015/07/31 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL