1

我想在每个动态页面上为我的网站http://www.deerpages.co放置一个命中计数器或访问显示。我正在使用 PHP 和 MySQL。但是,我在想,一旦我将每个跟踪都放入插入的每行中,那么该表很快就会被填满。

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

任何帮助,将不胜感激。

非常感谢!

4

1 回答 1

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 和 Country 的键)

话虽如此,我建议要么考虑使用数据库上的一些空间(实际上,您将需要大量的点击来“填满表格”),或者简单地将基本计数器与列出 Country 的统计表分开、Referrer等放到不同的表中。

于 2012-07-12T11:07:21.710 回答