我正在努力整合雅虎!回答样式点系统,其中贡献某些内容会使您(用户)获得一定数量的点。我正在考虑实施这个系统的方法。
对于PHP来说,我有点n00b(谢谢CodeIgniter!)所以我只是在寻找有关如何解决这个问题的建议。
我有两个想法。第一个是在我的用户表中有一个列,当用户执行某些操作时,该列被添加到一定数量的点并从中减去。我想这会是更轻松的代码,但可能不如下一个想法那么安全。
另一个想法是每当调用用户的点时进行数学计算。我想知道这会如何影响性能,或者它是否是一个好主意。
例如,登录该站点的人将获得几个点(每天限制一次)(如果不将点存储在表中,则可能无法实现)。另一个例子是,当他们提交定义时,他们获得15分,日志条目获得10分。我也想给他们相对于他们的分数的徽章。
我猜测存储在表格中的点数是最好的路线,但我希望能够更好地了解在进入它之前如何处理这个问题。非常感谢任何帮助。
*编辑: 我应该补充说,只有分配了点数的用户(至少是计划)。
答案 0 :(得分:0)
某些操作有助于积分,部分操作(提交,登录,评论)只是改变了价值。然后保护这些行动 - 无论如何你都需要保护它们......
答案 1 :(得分:0)
我的数据架构如下所示:
Content:
id: PK
user_id: integer # The author
title: string
contents: string
voteCount: integer
User:
id: PK
name: string
votesLeft: integer
rating: integer
Votes:
content_id: PK
user_id: PK
is_positive: boolean
然后,在内容表中保存投票记录(以保持良好的表现)以及投票表(这样您就可以撤消投票,并跟踪用户在哪篇文章上投票。)如果用户的投票数量有限,可以存储在votesLeft中。
答案 2 :(得分:0)
你可能想看一下这些模式:
因此,您可以将快照作为备份(可能每天一次或每周一次),然后使用会计分录管理帐户:)基本上,在您的用例中,分数=金钱,他们负责