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 相关文章推荐
cache_lite试用
Feb 14 PHP
PHP 工厂模式使用方法
May 18 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
php学习笔记之面向对象编程
Dec 29 PHP
解析thinkphp的左右值无限分类
Jun 20 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 PHP
深入理解PHP中的global
Aug 19 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
Mar 03 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
利用php输出不同的心形图案
Apr 22 PHP
PHP字符串中抽取子串操作实例分析
Jun 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和ACCESS写聊天室(八)
2006/10/09 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
python中__call__内置函数用法实例
2015/06/04 Python
python实现简单ftp客户端的方法
2015/06/28 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
Python tkinter和exe打包的方法
2020/02/05 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Django 实现对已存在的model进行更改
2020/03/28 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
指针和引用有什么区别
2013/01/13 面试题
乔迁宴答谢词
2014/01/21 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
企业法人任命书
2015/09/21 职场文书
培训心得体会怎么写
2016/01/25 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers