该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
说一下我的思路。
根据你说的大概可以抽象出三个类: 投票人类(Voters)、候选人类(Candidate)和票(Ticket)类。
想一下他们的关系,投票人 将票投给候选人即投票人——>票——>候选人,很简单的逻辑关系。那么我们能看出票是将投票人和候选人联系起来的桥梁。
好,理清了关系,那么我们接下来考虑这三个类的属性,按最简单的来。投票人来一个投票人ID(votersId),候选人来一个候选人ID(candidateId),那么票类呢?正如我们上面说的票是另外两个类的纽带所以票类的属性必有:
投票人ID(votersId),候选人ID(candidateId)
再加上你说的有效票,废票,我们把有效票,废票看做票的状态(ticketStatus)。
那么这三个类分别是
投票人类(Voters) 属性: votersId
候选人类(Candidate)属性:candidateId
票(Ticket)类 属性:votersId,candidateId,ticketStatus
好了你可以在mysql中建立对应的三张表(voters、candidate、ticket)
好接下来的事情就很简单了,当投票人点击复选框时你肯定能拿到投票人的ID(votersId)和候选人的ID(candidateId),然后你把数据插入到ticket表中,至于票的状态(即有效票废票)你可以在插入之前判断一下投票人是不是投了超过三张票。大概流程就是这样子:
投票人点击复选框给候选人投票----获取votersId、candidateId---------》判断ticket表投票人是不是多于三张是的话ticketStatus设为1(代表废票)否则设为0(有效票)------------》将votersId、candidateId、ticketStatus插入数据库
之后你想怎么统计都可以了,当然数据传递过程中要用类来封装数据
------------------------------------------------------------这是我的见解,有问题可以再问。太晚了 睡了