php - 使用PHP+MySql的投票系统?

标签 php mysql

我们必须建立一个投票系统,让用户投票给不同职位的不同候选人。选民可以登录。如何存储一名选民的投票,然后将该投票添加到之前的投票中?唯一可能的方法是将每张投票存储在数据库中,对吧?但数据库的结构会是什么样子呢?那么如何计算呢?

编辑:
投票系统不仅仅只有一组候选人可以投票。有市长、副市长、参议员等等,太多了。这就是为什么我很困惑。如果只是总统的投票制度,那就容易多了。因此,如果我有一个选民表,其中有一列他/她投票的候选人,这是不可能的,因为选民投票给许多候选人。

最佳答案

更好的方法是使用不同的表来存储投票。该表将有两个属性(VoterId、CandidateId) 如果您允许从此表中进行多次投票,您可以获取投票计数。

但最好将 VoterId 设置为该表中的主键。以避免多次投票

CandidateType: - (TypeId(PK), typeName, maxVotePerVoterForThisType)

Voter Table: - (voterId(PK), voterName, otherInfo)

Candidate Table: - (candidateId(PK), candidateName, constituency, otherInfo, TypeId(FK))

Votes:- (voterId(PK, FK), TypeId(PK, FK), candidateId(FK))

*编辑:- 根据原始帖子中更改的要求编辑了架构

*编辑:- 在 CandidateType 表中添加了一个字段以允许 multiple votes (例如:现在投票者可以投票给 10 Senators ,如果此类型的 maxVotePerVoter 设置为 10..)

关于php - 使用PHP+MySql的投票系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550995/

相关文章:

javascript - 即使我在 POST 上收到 200 响应,$_POST 数据还是空的?

mysql - 将mysql列从INT转换为TIMESTAMP

mysql - 24 小时格式的时差

php - Mysql中重复行的条目

php - 从 WordPress 获取 WooCommerce 产品类别

php - 更改 PHP 时间

php - 将html页面转换为php会降低搜索引擎排名吗?

java - 软件中的“独立交易”是什么?

php - 将两个 MYSQL 查询合并为一个查询

php - 无法通过单击同一页面上的删除按钮从数据库中删除用户