我有一个包含相同数量输入名称和产品ID输入名称的多个产品的css表。每个ID和数量都将是不同的值
他们看起来像这样
<input type="number" name="quantity" value="0">
<input type="hidden" name="prod_id" value="<?php echo $product_id; ?>">
我的问题是如何将两个值都推送到一个看起来像这样的数组/字符串
$product_ids = '150:2,152:4';
首先是产品ID,然后是:
之后的数量编号答案 0 :(得分:1)
正如@UlyssesMarx在评论中所述,您应该修改HTML输入字段的结构以支持多个数量输入。
<input type="number" name="quantity[<?php echo $product_id; ?>]" value="0">
在这种情况下,您不需要产品ID的隐藏输入字段,因为它将存储在数量字段的名称中。
在后端,您可以通过PHP解析此数据。
$quantities = $_POST['quantity']; //make sure to sanitize and validate!
foreach( $quantities as $product_id => $qty ) {
//do whatever you would like with this data
}
如果你仍然想要你指定的字符串中的数据,一种方法是:
$quantities = $_POST['quantity']; //make sure to sanitize and validate!
$data = []; //empty array to hold restructured data
foreach( $quantities as $product_id => $qty ) {
$data[] = $product_id . ":" . $qty;
}
//now combine the array
$string = implode( ',', $data );
echo $string;