跟踪页面视图和存储在MySQL中的最佳方法

时间:2013-06-04 22:00:53

标签: php mysql mysqli

我目前正在开发一个文章驱动的网站,并希望了解跟踪网页点击的最佳方式,以便我可以显示“最受欢迎的文章”或“最热门文章”的内容。我在一个PHP页面上通过$ _GET显示我的文章(例如article.php?id = 2)。我在某地读到INSERT INTO是我要走的路,我试着这样做:

$page_views = $conn->query("INSERT INTO blog_posts (views) VALUES (views = views+1");
唉,这没用。

总之,我希望能够:

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

提前致谢。 (对不起,如果我还没有说清楚的话。如果你想澄清一下,请问。)

3 个答案:

答案 0 :(得分:2)

您是否打算为计数单独设置表格?如果是的话,

|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") 

答案 1 :(得分:0)

使用更新查询来递增计数器。

UPDATE blog_posts SET views = views+1 WHERE id = 'SOME NUMBER'

blog_posts表格中的每一行都有一个数字views字段和id

SQL小提琴: http://sqlfiddle.com/#!2/0915b/1

答案 2 :(得分:0)

为什么不尝试使用update语句:

"UPDATE blog_posts SET views = views+1 WHERE id = $id"

您的insert语句将在数据库中添加一个新行,可能不是您想要的。