-1

whileループ内でラジオボタンを使用してmysqlにデータを挿入するにはどうすればよいですか。私のコードは次のようなものです。

<form><table>
    <?php
    $sql = mysql_query("SELECT * FROM table WHERE id='$id'");
    while ($row=mysql_fetch_array($sql)) {
    ?>

       <tr><td>
       <input type='radio' name ="select[]" value=<?php echo $row['tid'] ?> /></td>
       <td><input type="text" name="name"/></td>
       <td><input type="text" name="age"/></td>
       </tr> 
    <?php
    }
    ?>
    <tr><td><input type="submit"></td></tr>
    </table></form>



     if(isset($_POST['submit'])){
for($i=0;$i<count($select);$i++){
        $query = mysql_query("INSERT INTO disasterTbl (field, field2, field3) VALUES('$radioButton_value here', '$value', $value)")or die(mysql_error());

        }
}

助けてくださいありがとう。

4

3 に答える 3

0

$_GET または $_POST を使用してこのデータを送信する必要があります。その際、このデータをテーブルに挿入する必要があります。

于 2012-06-28T05:48:17.867 に答える
0

あなたの質問は少し一般的ですが、次のようなものです:

<form method="post">
<table>
<?php while ...
   <input type='radio' name ="select" ...
?>
</form>
...
if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['select'])) {
   $pdo = new PDO('host', 'user', 'pass');
   $pdo->prepare("INSERT INTO t1 VALUES (?)")->execute($_POST['select']);
   header('Location:', true, 303);
   exit;
}
于 2012-06-28T05:52:34.870 に答える
0

上記の例からラジオ ボタンの値を取得するには、次のようにします。

  • フォーム メソッドがPOSTの場合は$_POST['select']
  • またはメソッドがGETの場合、使用します$_GET['select']
  • $_REQUEST['select']または、すべてのメソッドに使用できます。

また、ラジオはSET/checkedでなければならないことも忘れないでください。そうしないと、必要な変数がまったく渡されません。

また、フォームの送信前に設定/設定解除するために、タイプが radio [1 つは設定され、もう 1 つは設定されていない] のタグのペアが必要です。

編集:

    Radio: if ($row['tid'] == "1") {
echo "Yes <input type='radio' name='select' checked> No <input type='radio' name='select'>"; } 
else { echo "Yes <input type='radio' name='select'> No <input type='radio' name='select' checked >"; }

したがって、クエリでは次のようにコーディングする必要があります。

$query = mysql_query("INSERT INTO disasterTbl (field, field2, field3) VALUES('$_POST["select"]', '$value', '$value')")or die(mysql_error());

or

$query = mysql_query("INSERT INTO disasterTbl (field, field2, field3) VALUES('$_GET["select"]', '$value', '$value')")or die(mysql_error());

or

$query = mysql_query("INSERT INTO disasterTbl (field, field2, field3) VALUES('$_REQUEST["select"]', '$value', '$value')")or die(mysql_error());

ヒント: 送信されたフォームの値を簡単に監視でき、配列に含まれる 、、がprint_r($_REQUEST);表示されます。nameageselect

select[]編集: また、ラジオ名がの代わりにあることに気付きselectました。括弧を削除して、配列として扱われないようにします。

于 2012-06-28T06:26:56.507 に答える