0

だから私はこの問題を抱えています。たとえば、質問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>

誰かが私を助けてくれることを願っています。さようなら、キャサリン

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 に答える