PHP while循环中的单选按钮

PHP while循环中的单选按钮,php,html,mysql,Php,Html,Mysql,我用HTML和PHP以表格形式显示MySQL数据库中的数据。 在这里,每个“订单”都有自己的“状态”,即每行应有2个单选按钮来更改其状态。虽然它显示了所有单选按钮,但问题是我无法为每一行选择一个单选按钮,我只能为所有行选择一个单选按钮 <?php $con3 = mysqli_connect($mysql_hostname, $mysql_usrnm,$mysql_pass, "customer") or die("Ouch!"); $sql_query = " SELECT * FROM

我用HTML和PHP以表格形式显示MySQL数据库中的数据。 在这里,每个“订单”都有自己的“状态”,即每行应有2个单选按钮来更改其状态。虽然它显示了所有单选按钮,但问题是我无法为每一行选择一个单选按钮,我只能为所有行选择一个单选按钮

<?php
$con3 = mysqli_connect($mysql_hostname, $mysql_usrnm,$mysql_pass, "customer") or die("Ouch!");
$sql_query = " SELECT * FROM order_info WHERE deptt='".$_SESSION['deptt']."'";
$result = mysqli_query($con3, $sql_query);
if (!$result) {
printf("Error: %s\n", mysqli_error($con3));
exit(); }   

        echo '<table border="0px">';    
    echo'<th>Product</th><th>Type</th><th>Quantity</th><th>Order Status</th>';

  while ($row = mysqli_fetch_array($result)){ //Tabular Data
  $type=$row["type"];
      $make=$row["make"];
      $quantity=$row["quantity"];
    echo "<tr>";
    echo "<td>" . $row['type'] . "</td>";
    echo "<td>" . $row['make'] . "</td>";
    echo "<td>" . $row['quantity'] . "</td>";
    echo '<td><cb><input type="radio" name="status" value="not approved">Not Approved<br>
<input type="radio" name="status" value="approved">Approved</cb></td>';
    }
    echo "</table>";
?>


如何解决此问题?

添加一个数字,我建议将“订单”的内部id添加到“名称”值的末尾,如


name=“status123”

在“name”值的末尾添加一个数字,我建议使用“order”的内部id,如


name=“status123”

您应该更改输入的
名称。我猜您还有一个名为
id
的数据库字段,因此我将在示例中使用该字段:

echo '<td><cb><input type="radio" name="status[' . $row['order_id'] . ']" value="not approved">Not Approved<br>
<input type="radio" name="status[' . $row['order_id'] . ']" value="approved">Approved</cb></td>';
echo'未批准
批准';

此外,在处理表单时,您还可以通过对id=2的行使用例如
$\u POST['status'][2]
来获取值。您可以轻松地循环
$\u POST['status']

您应该更改输入的
名称。我猜您还有一个名为
id
的数据库字段,因此我将在示例中使用该字段:

echo '<td><cb><input type="radio" name="status[' . $row['order_id'] . ']" value="not approved">Not Approved<br>
<input type="radio" name="status[' . $row['order_id'] . ']" value="approved">Approved</cb></td>';
echo'未批准
批准';

此外,在处理表单时,您还可以通过对id=2的行使用例如
$\u POST['status'][2]
来获取值。您可以轻松地循环
$\u POST['status']

在每次迭代中输出相同的表单元素。他们没有什么不同。您需要更改它们的名称,使其唯一。单选按钮按
名称自动分组。为每组收音机指定不同的
名称
s。那么我是否为
名称
创建一个数组?您在每次迭代中都会输出相同的表单元素。他们没有什么不同。您需要更改它们的名称,使其唯一。单选按钮按
名称自动分组。给每组收音机分配不同的
名称
s。那么我要为
名称
创建一个数组吗?
订单id
是一个自动递增变量,我如何访问特定id?只需将
id
更改为
订单id
(参见编辑的答案)。由于您在查询中使用了
SELECT*
,因此应该可以通过
$row
数组访问。另一个问题是,如何在数据库中存储这些单选按钮的值,即在
status
字段中?
order\u id
是一个自动递增变量,如何访问特定id?只需将
id
更改为
order\u id
(请参见编辑的答案)。由于您在查询中使用了
SELECT*
,因此应该可以通过
$row
数组访问。另一个问题是,如何将这些单选按钮的值存储在数据库中,即在
status
字段中?