-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

你的问题有点笼统,但是是这样的:

<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: 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);它应该显示数组中包含的name, age, 。select

编辑:我还注意到,您的收音机名称select[]不是select,请删除括号,这样它就不会被视为数组。

于 2012-06-28T06:26:56.507 回答
0

您必须使用 $_GET 或 $_POST 发送此数据,并且当您这样做时,您必须将此数据插入到表中。

于 2012-06-28T05:48:17.867 回答