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读写文件的方法(生成HTML)
Nov 27 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
May 28 PHP
主流PHP框架的优缺点对比分析
Dec 25 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
php基于Redis消息队列实现的消息推送的方法
Nov 28 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加密解密函数authcode的用法详细解析
2013/10/28 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
Bootstrap精简教程
2015/11/27 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
对javascript继承的理解
2016/10/11 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
wxPython 入门教程
2008/10/07 Python
全面理解Python中self的用法
2016/06/04 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python numpy中cumsum的用法详解
2019/10/17 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
django实现日志按日期分割
2020/05/21 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
python与js主要区别点总结
2020/09/13 Python
求职信需要的五点内容
2014/02/01 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
企业管理标语
2014/06/10 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL