为了账号安全,请及时绑定邮箱和手机立即绑定

PHP MySQL 获取订单的材料和数量

PHP MySQL 获取订单的材料和数量

PHP
慕田峪9158850 2021-06-11 13:22:39
我需要创建一个订单表,其中有一个表格中每个产品的复选框,每个产品旁边都有一个数量框。我需要处理已检查的产品并使用已检查的产品和输入的数量更新订单表。我不知道如何将产品复选框链接到数量字段。$sql="select * from tproducts";$result=mysqli_query($con, $sql) or die(mysqli_error($con));echo "<table>";echo "<tr>";echo "<th>Product Names</th>";echo "</tr>";if(mysqli_num_rows($result)>0){  echo "<form action=welcome1.php method=post>";  while ($row = mysqli_fetch_array($result))  {    echo "<tr>";    echo '<td><input type="checkbox" value="' . $row['intProductID'] . '" name="materialcode[]">' . $row['strProductName'] . "</td>";    echo "<td>Enter Quantity </td>";    echo "<td><input type='text' name='qty[]' value='qty' size=5></td>";      echo "</tr>";  } } echo "</table>";echo '<input type="submit" name="submit" value="submit" />';echo "</form>";echo "</html>";welcome1.php<?phpecho "materialcode<br>";print_r($_POST['materialcode']);echo "<br>";echo "qty<br>";print_r($_POST['qty']);?>
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

PHP 将保留您在 html 字段中提供的密钥名称。


  $productIndex = 0;   


  while ($row = mysqli_fetch_array($result) )

  {

    echo "<tr>";

    echo '<td><input type="checkbox" value="' . $row['intProductID'] . '" name="materialcode[$productIndex]">' . $row['strProductName'] . "</td>";

    echo "<td>Enter Quantity </td>";

    echo "<td><input type='text' name='qty[$productIndex]' value='qty' size=5></td>";  

    echo "</tr>";

    $productIndex++;

  } 

此示例使用数字索引,但您可能也可以使用$row['intProductId']。


在你的 php 中:


$_POST['materialCode'][0]将类似于,$_POST['qty'][0]但只会提供选中的复选框。$_POST['materialCode']如果只检查了索引 0、5 和 7,您可能最终会得到一个索引为 0、5 和 7的数组。


所以使用 foreach 循环而不是 for 循环。


foreach( $_POST['materialCode'] as $key => $value ){

    $productId = $value; 

    $quantity = $_POST['qty'][$key]; 

}


查看完整回答
反对 回复 2021-06-13
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信