mysql 浏览量统计_统计网站的每日访问量

本文介绍了如何在Yii2框架下结合MySQL进行浏览量统计。通过创建visit表并使用Gii生成模型,配合ExitVisit和visitNum静态方法记录和展示访问人数。同时,利用MySQL定时任务在每日零点自动统计前一天的访问量,存储到visit_count表中,确保数据的准确更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、针对 yii2 的操作

1、首先新建一张 visit 表

6e2182fd4eec12c3c78c0b1c859f35b9.png

然后用 gii 生成 Visit 模型

2、在 Visit 模型中创建 ExitVisit 静态方法

506400daeca03e2b867bfff64fdd267a.png

3、在你的前台布局文件 main.php 中添加以下代码

a613c8ac60a8fac92e441a3fec3fd3ac.png

4、在 Visit 模型中创建 visitNum 静态方法

f2358232784efee003d0a0abe7c21327.png

5、在你想要展示访问人数的页面添加以下代码

3cf972938b4f67e330375d6222808369.png

页面效果如下:

36fae41e6bde8417165e06495b41659b.png

二、针对 mysql 的操作:利用 mysql 的定时任务于零点自动统计当天访问人数,保存到另一张表visit_count

1、新建表 visit_count

0b844a55d5e0542846993ae9ec8bc407.png

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 1day)));

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 1DAY

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%';

b1646edc74de580eac5edc02c8bae887.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值