Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 页面浏览量、动态页面访问量与Google Analytics或Alexa类似?_Php_Mysql_Tracking_Pageviews - Fatal编程技术网

Php 页面浏览量、动态页面访问量与Google Analytics或Alexa类似?

Php 页面浏览量、动态页面访问量与Google Analytics或Alexa类似?,php,mysql,tracking,pageviews,Php,Mysql,Tracking,Pageviews,我想在每个动态页面上显示我的网站的点击计数器或访问量。我正在使用Php和MySQL。但是,我想,一旦我把每一行插入的每一个跟踪,那么该表很快就会满了 我们有什么外部方法可以做到这一点吗?我的意思是,像谷歌分析或Alexa类型的跟踪?并且能够显示它们吗 任何帮助都将不胜感激 非常感谢 在内容上放置页面计数器时,您会更改数据库中计数器的值,而不是每次为其插入新行 假设您的桌子看起来像这样: contentTable +------+---------+ | ID | Counter | |---

我想在每个动态页面上显示我的网站的点击计数器或访问量。我正在使用Php和MySQL。但是,我想,一旦我把每一行插入的每一个跟踪,那么该表很快就会满了

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

任何帮助都将不胜感激


非常感谢

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

假设您的桌子看起来像这样:

contentTable
+------+---------+
| ID   | Counter |
|------|---------|
| 1    | 35      |
| 2    | 54      |
+------+---------+
您可以按如下方式更新ID为1的行:

contentTable
+------+---------+
| ID   | Counter |
|------|---------|
| 1    | 35      |
| 2    | 54      |
+------+---------+
更新contentTable set Counter=Counter+1,其中ID=1

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

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

    CounterTable
+----+---------+----------+---------|
| ID | Counter | HTTP_REf | Country |
|----+---------+----------+---------|
| 1  | 46      | SomeData | USA     |
| 2  | 28      | Data2    | Aus     |
+----+---------+----------+---------+
并根据用户的个别数据列,根据需要更新数据,如:
插入计数器表(ID、计数器、HTTP\u Ref、国家/地区)
值(null,1,“$HTTP_REF.”,“$country.”)
在重复密钥更新时,设置计数器=计数器+1

(假设密钥为ID、HTTP_Ref和Country)


话虽如此,我还是建议您考虑使用数据库中的一些空间(实际上,您需要大量点击才能“填满表格”),或者干脆用统计表将基本计数器拆分为不同的表格,其中列出了国家、参考者等。

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

假设您的桌子看起来像这样:

contentTable
+------+---------+
| ID   | Counter |
|------|---------|
| 1    | 35      |
| 2    | 54      |
+------+---------+
您可以按如下方式更新ID为1的行:

contentTable
+------+---------+
| ID   | Counter |
|------|---------|
| 1    | 35      |
| 2    | 54      |
+------+---------+
更新contentTable set Counter=Counter+1,其中ID=1

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

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

    CounterTable
+----+---------+----------+---------|
| ID | Counter | HTTP_REf | Country |
|----+---------+----------+---------|
| 1  | 46      | SomeData | USA     |
| 2  | 28      | Data2    | Aus     |
+----+---------+----------+---------+
并根据用户的个别数据列,根据需要更新数据,如:
插入计数器表(ID、计数器、HTTP\u Ref、国家/地区)
值(null,1,“$HTTP_REF.”,“$country.”)
在重复密钥更新时,设置计数器=计数器+1

(假设密钥为ID、HTTP_Ref和Country)


话虽如此,我还是建议您考虑使用数据库中的一些空间(实际上,您需要大量点击才能“填满表格”),或者干脆用一个统计表将基本计数器拆分为不同的表格,其中列出了国家、推荐人等。

感谢您的快速响应,这种款式还可以,没什么问题我能处理。但是,我的意思是跟踪国家和一些细节,比如我可能存储的HTTP_REFERER。我以前做过,但你知道,它很快就会填充表。也许,我会试试你的建议并实现它。非常感谢。那么,这意味着每次访问都会插入数据库中的每一行?或者如果匹配相同的id,只更新现有行?无论如何,我会按照您的建议。在MySQL中,有一个允许您生成insert语句的命令,但它违反了表上的键,它执行不同的操作,并更新您提供的行。在我上面编写的示例SQL中,它将插入一个新行,除非ID、HTTP_Ref和Country已经存在(假设它们是键),在这种情况下,只需将计数器更新为+1即可。感谢快速响应,这种样式很好,我可以处理它。但是,我的意思是跟踪国家和一些细节,比如我可能存储的HTTP_REFERER。我以前做过,但你知道,它很快就会填充表。也许,我会试试你的建议并实现它。非常感谢。那么,这意味着每次访问都会插入数据库中的每一行?或者如果匹配相同的id,只更新现有行?无论如何,我会按照您的建议。在MySQL中,有一个允许您生成insert语句的命令,但它违反了表上的键,它执行不同的操作,并更新您提供的行。在我上面编写的示例SQL中,它将插入一个新行,除非ID、HTTP_Ref和Country已经存在(假设它们是键),在这种情况下,只需将计数器更新为+1。