0

我的 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>';

然后这将显示投票表格:

图 1

在投票系统中,每个职位只能选择一名候选人。但我的问题是,当用户单击“提交投票”按钮时,未选中的单选按钮被添加到数据库中。所以这里是插入选票的代码。

图 2

$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数据库中,即使我没有检查它,它也被插入了。

4

0 回答 0