1

我目前正在开发一个文章驱动的网站,并想知道跟踪页面点击的最佳方式,以便我可以显示“最受欢迎”或“最受欢迎文章”的内容。我通过 $_GET 在单个 PHP 页面上显示我的文章(例如 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

提前致谢。(对不起,如果我说得不够清楚。如果您想澄清任何事情,请询问。)

4

3 回答 3

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") 
于 2013-06-04T22:10:42.033 回答
1

您为什么不尝试使用更新语句:

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

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

于 2013-06-04T22:11:35.130 回答
0

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

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

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

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

于 2013-06-04T22:06:17.940 回答