我想在每个动态网页上设置点击计数器或访问我的网站http://www.deerpages.co。我使用的是Php和MySQL。但是,我想过,一旦我将每行跟踪插入一行,那么该表很快就会满了。
我们有什么外部方法可以做到这一点吗?我的意思是,像Google Analytics或Alexa类型的跟踪?并且能够显示它们吗?
任何帮助都将不胜感激。
非常感谢!
答案 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等列入不同的表。