我的PHP / PostgreSQL编码出了问题。这都是关于投票系统的。 以下是代码:
$queryCandidates = pg_query("Select * From candidate as can, positions as pos, partylist as par, election_date as elpe, course as cou Where pos.position_id = can.position_id And par.partylist_id = can.partylist_id And elpe.election_date_id = can.election_date_id And cou.course_id = can.course_id AND elpe.status = 'Started' ORDER BY pos.position_id ASC");
while($result = pg_fetch_array($queryCandidates, NULL, PGSQL_ASSOC))
{
echo '<tr><td class="positionTD">'.$result['position_name']. '</td><td><label><input type="radio" name="'.$result['position_name'].'" value="'.$result['candidate_id'].'"/> '.$result['firstname']. ' '. $result['lastname']. '<td>' .$result['candidate_id'].'</td></label></td></tr>';
}
echo '<tr><td colspan="2"><input type="submit" value="Submit Votes" name="Submit"/></td></tr>';
然后这将显示投票表格:
在投票系统中,您只能在每个位置选择一个候选人。但我的问题是,当用户点击“提交投票”按钮时,未经检查的单选按钮会添加到数据库中。所以这是插入投票的代码。
$queryVotes = pg_query("Select * From candidate");
while($result = pg_fetch_array($queryVotes, NULL, PGSQL_ASSOC))
{
$getVotes = pg_query("INSERT INTO vote (vote_id, candidate_id, voter_id) VALUES (default, '".$result['candidate_id']."', '".$_SESSION['voter_id']."')");
}
注意:您在名称旁边看到的数字是候选人的主要密钥。
如您所见,我没有选择数字“5”。但是在PostgreSQL数据库中,即使我没有检查它也会插入它。