-1

我正在尝试建立一个库存系统来跟踪我公司的一些产品。它不是在线商店或任何东西,只是我跟踪运输中、电工卡车库存中或办公室中的产品的一种方式。

我已经建立了页面来显示当前处于不确定状态的库存水平(运送到技术人员或办公室)、技术人员有什么以及办公室里有什么。我还可以查看每种技术的库存。现在,当我们的供应商直接发货时,我只需要一种方法将产品分配到其中一个位置。

插入库存页面有一个表单,显示我们跟踪的每个项目的字段,旁边还有一个数量框。它还有一个选择框,用于选择将库存分配到什么以及下一步打算去哪里。(例如:运输 -> 技术)

所以,它可能看起来像这样:


选择位置类型选择列表

选择去选择列表

12/2 室内线(只读)............数量字段

10/2 室外电缆(只读)......................数量字段

提交按钮


此页面上实际上将有大约 60 种产品。理想情况下,如果他们将 10 放在 12/2 线字段中,它将向数据库中插入 10 条记录:

id( AI )、product_id、location_type_id、location_going_id、日期

如果我把 3 放在 10/2 的数量上,那么它也会插入 3 条记录。

这是我的表单的代码。现在没有太多其他的了。

      <form action="insert2.php" id="form1" name="form1" method="POST">
  <table width="500" border="0">
    <tr>
      <td><input name="product_name[]" type="text" value="10/2 Outdoor Cable" readonly="readonly"></td>
      <td><input name="qty[]" type="text" size="5"></td>
    </tr>
    <tr>
      <td><input name="product_name[]" type="text" value="12/2 Indoor Wire" readonly id="product_name[]"></td>
      <td><input name="qty[]" type="text" size="5" id="qty[]"></td>
    </tr>
  </table>

    <p>
      <input type="submit" name="submit" id="submit" value="Submit">
              </p>
</form>

然后我让它进入第二页以将其插入数据库:

<?php
for($i = 0; $i < count($_POST['product_name']); $i++) {
$product = $_POST['product_name'][$i];
for ($j = 0; $j < $_POST['qty'][$i]; $j++) {

mysqli_query($con,"INSERT INTO inv_inventory (product_name)
VALUES ('$product')");
}

}
?>

当我进入第二页时,它显示:string(16) "12/2 Indoor Wire"并插入了 10/2 室外电缆项目中的 1 个。我把 3 个用于户外,4 个用于室内产品。

4

1 回答 1

-1

您可以将您的 HTML 更改为

<input name="product_name[]" .. />

然后您将能够$_POST["product_name"]作为一个包含所有已发布值的数组进行操作。

您需要对product_name输入和qty输入执行上述操作,以便您可以执行任何必要的操作。

如果您想根据数量插入多条记录,您的代码必须类似于:

<?php
  for($i = 0; $i < count($_POST['product_name']); $i++) {
    $product = $_POST['product_name'][$i];
    for ($j = 0; $j < $_POST['qty'][$i]; $j++) {
      // insert $product
    }
  }
?>

如果您的数量只是产品表中的另一列,那么您的代码应如下所示:

<?php
  for($i = 0; $i < count($_POST['product_name']); $i++) {
    $product = $_POST['product_name'][$i];
    $query = 'INSERT INTO .. (`product_name`, `qty`) '.
             ' VALUES ("'.$product.'", "'.$_POST['qty'][$i].'")';
  }
?>

请记住,这只是一个示例。您需要在实际代码中检查和转义值。

于 2013-10-09T05:36:50.557 回答