php - 跟踪页面浏览量并存储在 MySQL 中的最佳方式

标签 php mysql mysqli

我目前正在开发一个文章驱动的网站,并且想知道跟踪页面点击率的最佳方式,以便我可以按照“查看最多”或“最受欢迎的文章”的方式显示一些内容。我通过单个 PHP 页面上的 $_GET 显示我的文章(例如 article.php?id=2)。我在某处读到 INSERT INTO 是可行的方法,我尝试这样做:

$page_views = $conn->query("INSERT INTO blog_posts (views) VALUES (views = views+1");

唉,这没用。

总而言之,我希望能够:

  • 每次有人登陆页面(例如 articles.php?id=3)而不仅仅是 articles.php 时,将特定 ID 的页面浏览量加 1

提前致谢。 (很抱歉,如果我还不够清楚。如果您需要任何澄清,请直接提问。)

最佳答案

您打算为计数保留一个单独的表格吗?如果是这样,

|page_views   |
|blog_id|count|
+-------+-----+
|  1    | 12  |
|  2    | 33  |

以 blog_id 为主键并强制执行唯一

如果行不存在则可以使用重复键创建行,如果存在则更新计数

("INSERT INTO page_views (blog_id,count) VALUES ($blog_id,1) ON DUPLICATE KEY UPDATE count = count + 1") 

关于php - 跟踪页面浏览量并存储在 MySQL 中的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928259/

相关文章:

php - Laravel 测试 - 使用 Mockery 抛出异常

mysql - 基于现有值随机化主键

mysql - 这是解决sql中最低性能问题的好方法

mysql - 触发器@DBMS 出现问题

php - 图像未加载到轮播中

php - 为什么在使用 php 插入变量时在 mysql 表中生成额外的空行

php - Yii1:Yii2 中的 Controller::beforeRender

javascript - 使用 Javascript 在网站中搜索功能的正确方法是什么?

C# httpclient 获取响应

php - Mysqli 从两个表中选择