如何从php中的动态文本输入中获取两个值?

时间:2017-09-09 23:16:14

标签: php

在我的表单中,我循环记录集并使用括号[]中的命名约定存储值。 这很好地创建了一个数组,但只存储产生结果的输入值: 2,1,1

QTY: <input name="1pcCB['<?php echo $row_rs_type1['productname']; ?>']" type="text" id="<?php echo $row_rs_type1['productname']; ?>" value=""  />
<?php echo $row_rs_type1['productname']; ?>

我如何正确地将数组设置为ALSO具有唯一的'productname'和输入中输入的Value(Qty)?

implode工作得很好但只提供输入值而不是产品名

<?php  $capture_field_vals ="";
if(isset($_POST["1pcCB"]) && is_array($_POST["1pcCB"])){
 echo $capture_field_vals = implode(",", $_POST["1pcCB"]); 
}  
?>

目标是将产品名称和数量逗号分隔为单个最终值。如何实现这一目标?

最终结果应该是产品名称和输入中的值,这是一个数量,例如:

ProductNameX 2,ProductNameY 1,ProductNameZ 1

更新:

的print_r($ _ POST [&#34; 1pcCB&#34;]);

Array
(
    ['XL88ZM'] => 2
    ['XL88JB'] => 1
    ['XL22'] => 1
    ['XL88GB'] => 
    ['XL88Q'] => 
    ['XL301'] => 
    ['XL2050'] => 
    ['XL303'] => 
    ['XL3060'] => 
    ['XLWP'] => 
)

使用:

echo http_build_query($ _ POST [&#34; 1pcCB&#34;],&#39;&#39;,&#39;,&#39;);

产地:

%27XL88ZM%27=2, %27XL88JB%27=3, %27XL22%27=6, %27XL88GB%27=, %27XL88Q%27=, %27XL301%27=, %27XL2050%27=, %27XL303%27=, %27XL3060%27=, %27XLWP%27=

我只需要删除没有数量的那些并摆脱&#34;%27&#34;字符。

1 个答案:

答案 0 :(得分:1)

尝试如下。

foreach ($_POST["1pcCB"] as $key => $value)
  $temp[] = "$key $value";

$capture_field_vals = implode(",", $temp);