构建页面计数器MYSQLI数据库

时间:2015-07-08 17:11:44

标签: php database database-design mysqli

我将为网站构建一个页面计数器,以确定不同页面的视图。基本上,我有一些用户,我想跟踪大约120个特定页面的页面浏览量。

我无法确定最有效的方法以及它背后的逻辑。我正在尝试3个表,但最终会出现许多不必要的行。我想将数组存储在单个字段中然后更新数组,但我不确定这会增长还是甚至可能。以下是我限制请求数量的方法。基本上每100个就算100个。构建这个的任何想法?

$sample_rate = 100;
if(mt_rand(1,$sample_rate) == 1) {
//update set query
}

1 个答案:

答案 0 :(得分:0)

根据我们在评论中的对话,我建议采用以下简单设计:

TblPages
--------
Page_Id (pk)
Page_URL (unique)

TblViews
--------
View_Page_Id
View_User_Id
View_Count 
(pk is View_Page_Id + View_User_Id)

每当用户查看页面时,您执行一个存储过程,如果该用户和页面没有记录,则将记录插入TblViews表,或者更新现有记录的View_Count。

要获取页面的所有视图,请使用SUM(View_Count)并按View_Page_Id分组,以便按View_User_Id等分组的用户获取所有页面视图。