我目前正在开发一个文章驱动的网站,并希望了解跟踪网页点击的最佳方式,以便我可以显示“最受欢迎的文章”或“最热门文章”的内容。我在一个PHP页面上通过$ _GET显示我的文章(例如article.php?id = 2)。我在某地读到INSERT INTO是我要走的路,我试着这样做:
$page_views = $conn->query("INSERT INTO blog_posts (views) VALUES (views = views+1");
唉,这没用。
总之,我希望能够:
提前致谢。 (对不起,如果我还没有说清楚的话。如果你想澄清一下,请问。)
答案 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语句将在数据库中添加一个新行,可能不是您想要的。