Yii2 教程:统计网站的每日访问量 [ 技术分享 ]
作者:鲁鲁槟 出处:http://www.luluqi.cn/post/default/show-post?id=117 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
一、针对 yii2 的操作
1、首先新建一张 visit 表
然后用 gii 生成 Visit 模型
2、在 Visit 模型中创建 ExitVisit 静态方法
3、在你的前台布局文件 main.php 中添加以下代码
4、在 Visit 模型中创建 visitNum 静态方法
5、在你想要展示访问人数的页面添加以下代码
页面效果如下:
二、针对 mysql 的操作:利用 mysql 的定时任务于零点自动统计当天访问人数,保存到另一张表visit_count
1、新建表 visit_count
2、创建 mysql 函数:saveVisitNum 过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `saveVistNum`()
BEGIN
INSERT INTO visit_count (nums,created_time) VALUES((SELECT COUNT(id) from visit_day),
(select date_sub(curdate(),interval 1 day)));
DELETE FROM visit_day;
ALTER TABLE visit_day AUTO_INCREMENT =1;
END
注释:由于当天零点统计的是昨天的访问人数,所以时间必须为:select date_sub(curdate(),interval 1 day)
3、创建 mysql 事件 saveVisitNum 于每天零点执行步骤2中的函数
CREATE DEFINER=`root`@`localhost` EVENT `saveVistNum` ON SCHEDULE EVERY 1 DAY
STARTS '2016-07-18 00:00:00' ON COMPLETION PRESERVE ENABLE DO CALL saveVistNum()
4、开启事件
(1)开启:set global event_scheduler=1;
(2)查看是否开启成功:show variables like '%sche%';
注:如有疑问,请加入QQ群453300767进行讨论或在下方进行评论。
共 7 条回复
-
-
-
-
-
-
-
共 1 条回复leongogogo 回复于 2019-11-03 12:40 回复
您好,技术小白提问~visit_day这个表是怎么来的啊?
鲁鲁槟 东莞
注册时间:2015-12-02
最后登录:2024-08-09
在线时长:124小时36分
最后登录:2024-08-09
在线时长:124小时36分
- 粉丝110
- 金钱5620
- 威望140
- 积分8260