所以我有这个问题。例如,当我选择问题1的单选按钮时,它会选择单选按钮。但是当我从另一个问题中选择另一个单选按钮时,我选择的第一个单选按钮不再被选中,而另一个单选按钮被选中。 我试过寻找解决方案,但我找不到任何解决方案。 这是一个学校项目,我们必须进行民意调查。 这是代码:
<?php
mysql_connect(" ", " ", " ");
mysql_select_db(" ") or die(mysql_error());
if(isset($_POST['verzenden'])) {
$query="UPDATE optie SET stemmen = stemmen + 1 WHERE id='" . $_POST['item']. "'";
}
if(mysql_query($query)){
echo"Stem opgeslagen! <br /><br/>";
} else {
echo"Fout tijdens opslaan stem!<br /><br/>";
}
$result = mysql_query("SELECT * FROM poll");
while($data = mysql_fetch_assoc($result)){
echo"<b>" . $data['vraag'] . "</b><br/><br />";
echo"<form method='post' action=''>";
echo "<fieldset>";
$result2 = mysql_query("SELECT * FROM optie WHERE poll ='" . $data['id'] . "'");
while($data2 = mysql_fetch_assoc($result2)){
echo"<input type='radio' name='item' value='" . $data2['id'] . "'/>" . $data2['optie'] . "<br />";
}
echo"<br/>";
echo"</fieldset>";
}
?>
<input type='submit' name='verzenden' value='Verzenden'>
</form>
<a href="checkbox.php">Ga verder</a>
我希望有人可以帮助我。 再见, 凯瑟琳
答案 0 :(得分:0)
您应该为每组单选按钮使用不同的名称,
将单选按钮更改为如下所示
echo"<input type='radio' name='item_". $data2['id'] ."' value='" . $data2['id'] . "'/>
这可能有用。
答案 1 :(得分:0)
这种情况正在发生,因为您的所有单选按钮集都具有相同的名称:item
。您可以通过以下几种方式使单选按钮组独一无二;选择最适合你的那个。
将poll.id
值附加到每个按钮名称:
$result2 = mysql_query("SELECT * FROM optie WHERE poll ='" . $data['id'] . "'");
while($data2 = mysql_fetch_assoc($result2)){
echo"<input type='radio' name='item_" . $data['id'] . "' value='" . $data2['id'] . "'/>" . $data2['optie'] . "<br />";
}
为每个按钮名称附加序列号:
$result2 = mysql_query("SELECT * FROM optie WHERE poll ='" . $data['id'] . "'");
$buttonNumber = 0;
while($data2 = mysql_fetch_assoc($result2)){
++$buttonNumber;
echo"<input type='radio' name='item_$buttonNumber' value='" . $data2['id'] . "'/>" . $data2['optie'] . "<br />";
}
最后请注意,mysql_query
系列函数已弃用,因为它可能使您容易受到SQL注入攻击。有关使用mysqli
或PDO
的信息,请参阅here和其他地方。
答案 2 :(得分:0)
下面的行似乎应该在第一个while
循环
echo"<form method='post' action=''>";
echo "<fieldset>";