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 11 PHP
php 全文搜索和替换的实现代码
Jul 29 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 PHP
php实现简单的MVC框架实例
Sep 23 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
Nov 20 PHP
php探针使用原理和技巧讲解
Sep 17 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+mysql大量用户登录解决方案分析
2014/12/29 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
win与linux系统中python requests 安装
2016/12/04 Python
Python构建图像分类识别器的方法
2019/01/12 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
使用django实现一个代码发布系统
2019/07/18 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
国际书籍零售商:Wordery
2017/11/01 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android