PageViews,动态网页访问计数器类似于Google Analytics或Alexa?

时间:2012-07-12 10:56:33

标签: php mysql tracking pageviews

我想在每个动态网页上设置点击计数器或访问我的网站http://www.deerpages.co。我使用的是Php和MySQL。但是,我想过,一旦我将每行跟踪插入一行,那么该表很快就会满了。

我们有什么外部方法可以做到这一点吗?我的意思是,像Google Analytics或Alexa类型的跟踪?并且能够显示它们吗?

任何帮助都将不胜感激。

非常感谢!

1 个答案:

答案 0 :(得分:1)

当您在内容上放置页面计数器时,您更改数据库中计数器的值,而不是每次都为其插入新行。

假设你的表看起来像这样:

contentTable
+------+---------+
| ID   | Counter |
|------|---------|
| 1    | 35      |
| 2    | 54      |
+------+---------+

您可以像这样更新ID为1的行:

update contentTable set Counter=Counter+1 where ID=1;

假设您将每个页面链接到数据库中的ID。您还可以轻松地将所有内容保存在同一个数据库表中。

编辑: 如果要存储有关每个访问者的其他数据,请按以下行创建单独的hitCounter表:

    CounterTable
+----+---------+----------+---------|
| ID | Counter | HTTP_REf | Country |
|----+---------+----------+---------|
| 1  | 46      | SomeData | USA     |
| 2  | 28      | Data2    | Aus     |
+----+---------+----------+---------+

根据用户个人数据列更新数据,例如: insert into counterTable (ID, Counter, HTTP_Ref, Country) values (null, 1, '".$HTTP_REF."', '".$country."') On Duplicate Key update set counter=counter+1;

(假设ID,HTTP_Ref和国家/地区的密钥)

话虽如此,我建议要么考虑在数据库上使用一些空间(实际上,你需要一个 LOT 的点击来“填充表格”)或者可能只是分开带有stats表的基本计数器,它将Country,Referrer等列入不同的表。