php - 投票系统问题

标签 php mysql

我在使用 PHP 实现 +1/-1 投票系统时遇到了一些问题,它应该与 SO 投票系统有些相似。平均而言,每个项目将获得约 100 到 1,000 票,并且会有很多人观看。

我不知道我是否应该使用:

  • 专门用于投票的数据库表,其中包含用户 ID 和他们的投票...将他们的投票存储为 bool 值,然后在 MySQL 中计算投票的“总和”。
  • “项目”表中的文本字段,包含已投票的 uid(在序列化数组中),以及包含投票总和的数字字段。
  • “item”表中的一个数字字段,包含投票的总和,然后将用户是否投票存储在文本字段中(带有投票 ID 的序列化数组)。
  • 完全不同的东西(请发表更多想法!)

最佳答案

我可能会选择上面列出的选项 3。通过将总票数作为项目表中的另一列,您可以在不执行任何更多 sql 查询的情况下获得项目的总票数。

如果您需要存储哪个用户对哪个项目投票,我可能会创建另一个表,其中包含 itemuservoteitem 为itemID,user 为用户ID,vote+- 取决于它是赞成票还是反对票。

我猜您只需要在用户登录时访问此表,以向他们显示他们投票的项目。

关于php - 投票系统问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5526467/

相关文章:

PHP mysql 将关联数组从 "dynamic"形式插入数据库

php - 为什么表字段没有显示像前三个字段那样的值?

php - 空查询验证的更好实践

mysql - 动态 MySql 查询每天返回 X 次结果

php - 使用 PHP PDO 查询中传递的变量

php - 如何正确安装LAMP软件包?

php - 检查数据库中现有条目的 SQL 查询不起作用

PHP mssql_affected_rows 与 mssql_rows_affected

php - 如何在 Laravel SQL 原始查询中使用括号

PHP - 加载图像(图像位于服务器上)并作为 BLOB 插入数据库