在提交后对echo的已发布值进行分组

时间:2010-11-29 11:09:39

标签: php

当我遍历foreach时,打印meterage1和product1帖子作为单个相关字符串值的最佳方法是什么?因此,例如,与meterage1和product2相关的product1输入框值与meterage2相关。

这是我的表格:

  <form id="orderform" name"orderForm" action="tomypage.php" method="post">
    <a  id="add">+</a>
     <table id="ordertable" width="533" border="0" cellspacing="0" cellpadding="2">
      <tbody>
        <tr>
          <td width="33%">Product Code (e.g 66203)</td>
          <td width="33%">mtrs sq Required (e.g 10)</td>
          <td width="33%">Preview Image</td>
        </tr>
        <tr class="item">
          <td class="prodcode"><input type="text" name="prodcode" id="prodcode" /></td>
          <td class="meterage"><input type="text" name="meterage" id="meterage" /></td>
          <td class="imgsample"></td>
        </tr>
        <tr class="item">
          <td class="prodcode"><input type="text" name="prodcode1" id="prodcode" /></td>
          <td class="meterage"><input type="text" name="meterage1" id="meterage" /></td>
          <td class="imgsample"></td>
        </tr>
        <tr class="item">
          <td class="prodcode"><input type="text" name="prodcode2" id="prodcode" /></td>
          <td class="meterage"><input type="text" name="meterage2" id="meterage" /></td>
          <td class="imgsample"></td>
        </tr>
        </tbody>
      </table>
    <button>Submit</button>
    </form>

我目前的PHP foreach:

if ($_POST) { 
      foreach($_POST as $key => $value) { 
            $orderdetails = $key.'&nbsp;'.$value.'m<sup>2</sup><br />'; 
      } 
} else { 
      $orderdetails = 'No Order Details Selected'; 
}

1 个答案:

答案 0 :(得分:1)

您可以将表单字段分配给数组,而不是对它们进行编号,这样可以在访问其值时提供更大的灵活性:即。

<input type="text" name="meterage[]" />
<input type="text" name="meterage[]"  />
<input type="text" name="meterage[]"  />

然后只需:

print_r($_POST['meterage']);

或者根据需要访问$_POST['meterage']数组(即循环执行每个值的操作)。

如果您想循环遍历字段集,对于相关产品/计量,您可以:

$number_of_products=count($_POST['prodcode']);
for ( $i=0; $i<$number_of_products; $i++){
     echo $_POST['prodcode'][$i]." has the meterage: ".$_POST['meterage'][$i]."<br/>";
}