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获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
php 字符串压缩方法比较示例
Jan 23 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
用PHP代码给图片加水印
Jul 01 PHP
CodeIgniter读写分离实现方法详解
Jan 20 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
PHP安全性漫谈
2012/06/28 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
laravel 数据验证规则详解
2019/10/23 PHP
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
Python写的一个简单监控系统
2015/06/19 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
师范大学毕业自我鉴定
2013/11/21 职场文书
工程班组长岗位职责
2013/12/30 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
食品安全工作实施方案
2014/03/26 职场文书
班训口号大全
2014/06/18 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书