这里的每个程序员都知道这样的评级:
Rating system http://img69.imageshack.us/img69/4241/98948761.gif
问题在于我不知道如何为此创建SQL结构。
我想我可以在MySQL的article
表中添加上下字段,但这不允许多投票。
你能告诉我怎么做吗? 我是否必须创建一个新表?
答案 0 :(得分:2)
最简单的方法是简单地存储每篇文章的投票结果 当一篇文章被投票时,增加计数器。投票 - 减少计数器。
如果您需要跟踪哪个用户上/下投票(并避免多次投票),您需要在users
和articles
之间定义一个交叉表。
看起来像这样:
article_votes
--------------
user_id
article_id
vote
其中,投票可以是+1或-1。
如果您需要文章的要点,可以通过
获得SELECT SUM( vote )
FROM article_votes
WHERE article_id = <your_article_id>
答案 1 :(得分:2)
您可能会从stackoverflow的工作方式中获得一些想法: