一、针对 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%';