0

我计划将合理的排名/投票系统集成到现有应用程序中。

我熟悉传统的 5 星评级系统是如何工作的,并且知道与它们相关的常见陷阱/问题,因此想知道是否还有其他方法(我听说过威尔逊、贝叶斯等,但不确定如何实施这具有以下结构):

  • 我计划允许用户通过内容页面对 1 到 10 之间的内容进行投票。
  • 该内容的得分和总票数将显示在内容页面上。
  • 我还将显示/列出前 10 名内容,因此我需要该方法是公平/现实的,而不是进行 10 票投票,总票数为 1 票直接进入第 1 名。

我正在使用PHPand MySQL,我有一个用于内容的表格(content_id我想我可以JOIN使用它)。

我想知道您是否可以提出一种实现上述目标的方式/方法,如果您可以附上一些示例 PHP 代码和示例 MySQL 模式,以便我可以更好地理解它,我将不胜感激,因为我已经 google'd 并且可能有找到了潜在的解决方案,例如威尔逊和贝叶斯……但他们提供了一篇冗长的文章,其中包含令人困惑的数学方程式——并且没有提及达到上述目的的方法(即分数……并在 PHP/MySQL 中实施该方法)或至少由于没有任何示例 PHP/MySQL 代码,我误解了这一点。

也许这比我想的更容易——我不知道,因为我以前从来没有需要实现这种“更复杂”的排名/投票功能——所以我很感激你的回复。

4

1 回答 1

0

您应该首先在 youtube 上观看此视频:构建 Web 信誉系统

为了强调这一点,让我带你去 XKCD

至于数据库结构,您需要以下部分:

  • 项目列表(带total_votes列)
  • 已投票的用户列表
  • 项目用户的交集表(带有rating列,如果您使用 5star 的东西)
于 2011-10-03T06:39:18.713 回答