PHP:将多个产品添加到下单表单中


PHP: Adding multiple products to post order form

我正在构建一种php商店,允许用户输入各种产品的金额,然后表单将处理订单。没有付款处理等。我正在努力做的是将每个产品添加到每个金额中,以作为 $_POST 变量发送到订单。 目前我订购的商品是标准表格:

<input type="text" id="value" name="ordered-items[]" />

我以为我可以将产品 ID 添加为隐藏变量,但这只会为每个产品添加它。

<input type="hidden" id="value" name="products[<?php the_id(); ?>]" />

我怎样才能将产品与订单数量结合起来,然后将其发送到订单进行处理,这部分我可以自己做。

提前致谢

您可以根据

产品的 ID 命名产品数量,如下所示:

<input type="text" name="item[<?php the_id(); ?>]" />

然后,您可以使用以下方法访问服务器端的产品数量:

foreach($_POST as $index => $value){
// $index is product id and $value is product quantity
}

为什么不把数量放在一个单独的输入字段中。如果是普通文本字段,访问者甚至可以更改数量:

<input type="text" id="item1" name="ordered-items[]" /><input type="text" id="qty1" name="quantity[]" />
<br>
<input type="text" id="item2" name="ordered-items[]" /><input type="text" id="qty2" name="quantity[]" />
<br>
<input type="text" id="item3" name="ordered-items[]" /><input type="text" id="qty3" name="quantity[]" />

在 php 中,您可以像这样处理数据:

<?php
$items = $_POST['ordered-items'];
$quantities = $_POST['quantity'];
for($i = 0; $i < count($items); $i++) {
  echo $items[$i] . ' has quantity ' . $quantities[$i];
}