在php中开发一个简单的投票系统需要帮助

时间:2011-03-26 12:29:35

标签: php database-design voting-system

我需要为我的应用程序设置一个简单的投票系统。我的应用程序包括发布的文章和评论。我想在文章和评论中添加投票能力,同时能够根据最高投票等对评论进行排序。

我有以下限制,即因为应用程序需要用户登录 - 只有登录的用户才能投票,其次用户只能投票一次。用户可以投票或下注或取消他们所做的投票。

对于这个有利的桌面设计,我需要解决方案可扩展。感谢您的建议

2 个答案:

答案 0 :(得分:2)

我想我会使用usersarticles表之间的联接表:

users_articles
  - article_id
  - user_id
  - score
  - date

以下注释:

  • article_id是上/下投票的文章的外键
  • user_id是投票的用户的外键
  • score根据投票结果为+1或-1
  • 主键位于两个article_id, user_id列。
  • 用户对文章进行投票意味着在此表中插入一行;取消投票意味着删除该行(如果您想跟踪用户投票的事实,则设置0分)


这是对文章的投票。
我会做另一个users_comments表格来评论投票。

答案 1 :(得分:0)

您可以在我的question中提取此答案。查看v1.6以获得最终答案(作为问题中的更新发布)。它模拟用户,评论和评级以及您正在寻找的一些约束。

如果您对该型号有任何疑问,请告诉我,由于完成的工作量,有很多工作已完成,因此未在SO上发布。

您还可以查看Bulletin board - Database optimisation