2011-10-03 72 views
0

我正計劃將合理的排名/投票系統集成到現有的應用程序中。集成1-10個投票系統,沒有常見陷阱

我很熟悉傳統的5星級評分系統是如何工作的,並且知道與他們相關的common pitfalls/problems因此想知道是否還有其他方法(我聽說過Wilsons,Bayesian等,但並不確定如何以下面的結構來實現它):

  • 我打算允許用戶通過內容頁面對1到10之間的內容進行投票。
  • 該內容的分數和總票數將顯示在內容頁面上。
  • 我也將顯示/列出十大內容,所以我需要的方法是公平/現實,而不是使10票與1總票數直來直去1號。

我使用PHPMySQL,我有一個表的內容(其中有一個content_id,我想我可以JOIN上)。

我想知道,如果你能提出一個方法/方法達到上述,我會很感激,如果你可以附加一些示例PHP代碼和MySQL的例子架構,以便我能更好地理解它,因爲我谷歌」 d和可能已經找到潛在的解決方案,如Wilsons和貝葉斯...但他們提供了一個冗長的文章,混淆數學公式 - 並提到沒有辦法達到上述(即得分....和實施PHP/MySQL)或至少由於沒有任何示例PHP/MySQL代碼我誤解了這一點。

也許,這是比較容易那麼我想 - 我不知道,因爲我從來沒有需要實現這種「更復雜」的排名/投票功能之前 - 所以我會很感激你的反應。

回答

0

你應該在YouTube上觀看該視頻開始:Building Web Reputation Systems

爲了強調這一點,讓我引導您XKCD

至於DB結構,需要以下幾個部分:項目

  • 列表(total_votes列)的用戶
  • 列表,這都投
  • 路口表中的項目,用戶(與rating列,如果你有5星級的事情去)