鲁鲁槟 2016-07-18 15:58:52 2169次浏览 6条回复 17 7 0

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

觉得很赞
您需要登录后才可以回复。登录 | 立即注册
在线
356