php流量统计功能的实现代码


Posted in PHP onSeptember 29, 2012

流量统计功能
显示效果:
总访问量:399
今日流量:14
昨日流量:16
本代码仅供学习交流,其中必有不妥之处。请见谅!
--
-- 表的结构 `mycounter`
--

CREATE TABLE `mycounter` ( 
`id` int(11) NOT NULL auto_increment, 
`Counter` int(11) NOT NULL, 
`CounterLastDay` int(10) default NULL, 
`CounterToday` int(10) default NULL, 
`RecordDate` date NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ;

函数过程如下:
<?PHP 
public function ShowMyCounter(){ 
//定义变量 
$IsGone = FALSE; 
//读取数据 
$querysql = "SELECT * FROM `mycounter` WHERE id = Ƈ' "; 
$queryset = mysql_query($querysql); 
$row = mysql_fetch_array($queryset); 
//获得时间量 
$DateNow = date('Y-m-d'); 
$RecordDate = $row['RecordDate']; 
$DateNow_explode = explode("-",$DateNow); 
$RecordDate_explode = explode("-",$RecordDate); 
//判断是否已过去一天 
if( $DateNow_explode[0] > $RecordDate_explode[0]) $IsGone = TRUE; 
else if( $DateNow_explode[0] == $RecordDate_explode[0] ){ 
if( $DateNow_explode[1] > $RecordDate_explode[1] ) $IsGone = TRUE; 
else if( $DateNow_explode[1] == $RecordDate_explode[1] ){ 
if( $DateNow_explode[2] > $RecordDate_explode[2] ) $IsGone = TRUE; 
}else BREAK; 
}else BREAK; 
//根据IsGone进行相应操作 
IF($IsGone) { 
$RecordDate = $DateNow; 
$CounterToday = 0; 
$CounterLastDay = $row['CounterToday']; 
$upd_sql = "update mycounter set RecordDate = '$RecordDate',CounterToday = '$CounterToday',CounterLastDay = '$CounterLastDay' WHERE id = Ƈ' "; 
mysql_query($upd_sql); 
} 
//再次获取数据 
$querysql = "SELECT * FROM `mycounter` WHERE id = Ƈ' "; 
$queryset = mysql_query($querysql); 
$Counter = $row['Counter']; 
$CounterToday = $row['CounterToday']; 
$CounterLastDay = $row['CounterLastDay']; 
if($row = mysql_fetch_array($queryset) ){ 
if( $_COOKIE["user"] != "oldGuest" ){ 
$Counter = ++$row['Counter']; 
$CounterToday = ++$row['CounterToday']; 
$upd_sql = "update mycounter set counter = '$Counter',CounterToday = '$CounterToday' WHERE id = Ƈ' "; 
$myquery = mysql_query($upd_sql); 
} 
echo "总访问量:".$Counter; 
echo " 
"; 
echo "今日流量:".$CounterToday; 
echo " 
"; 
echo "昨日流量:".$CounterLastDay; 
}else{//如果数据库为空时,相应的操作 
} 
} 
?>

当然,需要在文件第一行开始写出如下代码:
<?PHP 
session_start(); 
if( !isset($_COOKIE["user"]) ){ 
setcookie("user","newGuest",time()+3600); 
}else { 
setcookie("user","oldGuest"); 
} 
?>
PHP 相关文章推荐
PHP 高手之路(二)
Oct 09 PHP
生成静态页面的PHP类
Nov 25 PHP
PHP批量生成缩略图的代码
Jul 19 PHP
thinkphp的c方法使用示例
Feb 24 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
PHP正则表达式入门教程(推荐)
May 18 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
Zend的AutoLoad机制介绍
Sep 27 #PHP
说说PHP的autoLoad自动加载机制
Sep 27 #PHP
php FLEA中二叉树数组的遍历输出
Sep 26 #PHP
PHP fopen 读取带中文URL地址的一点见解
Sep 25 #PHP
PHP可逆加密/解密函数分享
Sep 25 #PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 #PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 #PHP
You might like
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
使用webpack和rollup打包组件库的方法
2021/02/25 Javascript
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
django文档学习之applications使用详解
2018/01/29 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
python日志模块logbook使用方法
2019/09/19 Python
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
结构工程个人自荐信范文
2013/11/30 职场文书
保密工作实施方案
2014/02/24 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
撤诉申请怎么写
2015/05/19 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android