计算投票率

时间:2012-06-08 11:10:59

标签: php mysql

我在我的网站上获得了一项民意调查,评分为5星级:

1 star - 1 (worst)
2 stars - 2
3 stars - 3
4 stars - 4
5 stars - 5 (best)

现在,我应该如何在MySQL中存储民意调查记录?怎么计算它们? 默认速率值为5,但如果用户将其评定为1星,则应将此值更改为1,然后开始以某种方式计算它...首先,我需要了解如何在我的数据库中存储投票。你可能有更多的经验。

2 个答案:

答案 0 :(得分:1)

将投票存储在一个单独的表格中,这样您就可以记录投票的人。

user_id, topic_id , vote, date现在就足够了。计算很容易和所有票数除以与该主题相关的总票数。这将给你平均值。如果您希望它显示为1-5,您可以round()它。为了在每次加载主题时都不进行此计算,您可以将其存储在主题表的字段中,并在每次从投票表中添加/删除记录时更新该字段。

答案 1 :(得分:0)

只需将投票存储在表格中的整数字段(1到5)中,并与其他信息相结合(例如,以确保用户只能投票一次)。

如果要显示结果,可以使用投票,例如计算平均值或其他统计数据。 在每次投票之后重新计算(和存储)统计数据也是可能的,但并非真正需要,除非你有更多的页面浏览量而不是投票,那么它可能会导致更少的资源使用。 (这当然也取决于你的静态计算的复杂性)