我有一个非常简单的产品形式。每个产品都有一个复选框和数量字段,可以重复创建一个数据数组,如下所示:
<form action="process.php" method="post">
<input type="checkbox" name="product[]" value="product 1" />
<input type="text" name="quantity[]" />
<input type="checkbox" name="product[]" value="product 2" />
<input type="text" name="quantity[]" />
<input type="submit" />
</form>
然后我在php中按照以下方式处理这个表单:
//php script to retrieve data
$product = isset($_POST['product']) ? implode(', ', $_POST['product']) : 'Not selected';
$quantity = isset($_POST['quantity']) ? implode(', ', $_POST['quantity']) : 'Not mentioned';
$messageToSend = <<<END
Products: $product - $quantity
END;
输出结果例如:产品:产品1,产品2 - 10,
但我想要实现的是以下输出: 产品:产品1 - x 10,产品2 - x 2
基本上我想弄清楚的是在检索数据后如何在php脚本中拆分和分组每个产品的数据。
非常感谢您的帮助。
答案 0 :(得分:3)
您只需要一起遍历两个列表:
foreach ($quantity as $key => $quant) {
echo $product[$key].' - x'.$quant;
}
这是一般性的想法,但正如评论中所提到的那样,单独做这件事并不是真正的解决方案。
要记住的一些事情:
答案 1 :(得分:0)
试试这个:
<?php
foreach($_POST['product'] as $key => $product){
$quantity = isset($_POST['quantity'][$key])? $_POST['quantity'][$key]:'Not selected';
$message[] = $product.' - x'.$quantity;
}
echo implode(',', $message);
?>