首页 > 解决方案 > 如何使用 PHP 和 MySQL 收集站点浏览量统计数据,例如每日、每周、每月和每年的浏览量?

问题描述

我目前正在为网站构建管理界面,并且正在使用 PHP 和 MySQL。如何收集观看次数并按日、周、月和年进行分类?

标签: phpmysql

解决方案


如果您需要准确的统计数据,您可以为所有访问创建一个表,如下所示:

+----+----------------------------+------------------+
| id |            Info            | date             |
+----+----------------------------+------------------+
| 1  | {"use_proxy":true,ecc...}  | 28/03/2020 10:00 |
+----+----------------------------+------------------+
| 2  | {"use_proxy":false,ecc...} | 20/04/2020 10:00 |
+----+----------------------------+------------------+
| 3  | {"use_proxy":false,ecc...} | 05/02/2020 10:22 |
+----+----------------------------+------------------+
CREATE TABLE `views` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `Info` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci,
    `date` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    KEY `id` (`id`) USING BTREE,
    PRIMARY KEY (`id`)
);

您可以使用此查询来选择特定日期的查看次数吗:

SELECT SUM(id) AS views FROM views WHERE DAY(date) = 05 && MONTH(date) = 02 && YEAR(date) = 2020


推荐阅读