如何在mysql中更新用户总分

时间:2012-06-11 16:49:38

标签: php mysql points

我有一个网站,用户可以提交可以投票或投票的帖子。

目前,用户从其所有帖子中获得的总分数未保存。

这样做的最佳/常用方法是什么?像Reddit或StackOverflow这样的网站如何做到这一点?

每当有人在帖子上投票时,我是否应该在总用户点数中添加和减去。

3 个答案:

答案 0 :(得分:0)

你应该每次都更新..使用ajax来获得更好的用户体验..这是一个基本教程http://www.w3schools.com/php/php_ajax_poll.asp

答案 1 :(得分:0)

它可以通过多种方式完成.Habeeb说明了一个 但是,如果你想存储所有像stackoverflow这样的人投资的信息然后制作两个表来存储帖子的id以及其他用来存储赞成帖子的用户的内容呢? 我的意思是你的两张桌子应该是

POST                                      Upvote
Id     POST                              Id      User_id
  1. 现在当有人投票时,只需在表Upvote中添加一条新记录 引用表POST的id。
  2. 检索您需要的数据时 左连接方法sql

答案 2 :(得分:0)

您可以缓存每个用户对所有帖子的投票总和的结果,并在用户获得新投票时使每个用户的缓存无效,或者您可以将总计数存储在数据库中并确保任何upvote或者downvote作为也更新总数的交易运行。

你是使用缓存还是在MySQL中使用额外的表(我不建议将其放在你的users表中)取决于你的网站有多大以及你想用投票做什么