0

所以我有这个问题。例如,当我选择问题一的单选按钮时,它会选择单选按钮。但是,当我从另一个问题中选择另一个单选按钮时,我选择的第一个单选按钮不再被选中,而另一个单选按钮被选中。我已经尝试寻找解决方案,但我找不到任何解决方案。这是一个学校项目,我们必须进行民意调查。这是代码:

<?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>

我希望有人能帮助我。再见,凯瑟琳

4

3 回答 3

0

发生这种情况是因为您所有的单选按钮集都具有相同的名称:item. 这里有几种方法可以使单选按钮集独一无二;选择最适合您的。

  1. 将值附加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 />";
    }
    
  2. 为每个按钮名称附加一个序列号:

    $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 注入攻击。有关使用or的信息,请参见此处和其他地方。mysqliPDO

于 2013-05-19T03:51:53.097 回答
0

似乎下面的行应该在第一个while循环之前

echo"<form method='post' action=''>";
echo "<fieldset>";
于 2013-05-19T05:40:51.353 回答
0

您应该为每组单选按钮使用不同的名称,

将您的单选按钮更改为如下所示,

echo"<input type='radio' name='item_". $data2['id'] ."' value='" . $data2['id'] . "'/>

这可能有效。

于 2013-05-19T03:49:19.607 回答