Yii2 教程:统计网站的每日访问量

技巧库 · lulubin · 于 3年前 发布 · 2195 次阅读

作者:鲁鲁槟 出处:https://luluqi.cn/post/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进行讨论或在下方进行评论。


如果这篇文章对您有帮助,不妨微信小额赞助我一下,让我有动力继续写出高质量的教程。

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册