0

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

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

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

4

2 回答 2

1

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

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

于 2012-06-08T11:18:52.203 回答
0

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

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

于 2012-06-08T11:16:39.750 回答