【发布时间】:2011-01-28 17:35:42
【问题描述】:
我有一个包含 8 列和可变行数的表单,我需要以格式正确的电子邮件将其发送给客户。表单将所需字段作为多维数组提交。粗略的例子如下:
<input name="order[0][topdiameter]" type="text" id="topdiameter0" value="1" size="5" />
<input name="order[0][bottomdiameter]" type="text" id="bottomdiameter0" value="1" size="5" />
<input name="order[0][slantheight]" type="text" id="slantheight0" value="1" size="5" />
<select name="order[0][fittertype]" id="fittertype0">
<option value="harp">Harp</option>
<option value="euro">Euro</option>
<option value="bulbclip">Regular</option>
</select>
<input name="order[0][washerdrop]" type="text" id="washerdrop0" value="1" size="5" />
<select name="order[0][fabrictype]" id="fabrictype">
<option value="linen">Linen</option>
<option value="pleated">Pleated</option>
</select>
<select name="order[0][colours]" id="colours0">
<option value="beige">Beige</option>
<option value="white">White</option>
<option value="eggshell">Eggshell</option>
<option value="parchment">Parchment</option>
</select>
<input name="order[0][quantity]" type="text" id="quantity0" value="1" size="5" />
此表单被格式化为表格,并且可以动态地向其中添加行。我一直无法从数组中获取格式正确的表格。
这是我现在用的(从网上抓的)。
<?php
if (isset($_POST["submit"])) {
$arr= $_POST['order']
echo '<table>';
foreach($arr as $arrs)
{
echo '<tr>';
foreach($arrs as $item)
{
echo "<td>$item</td>";
}
echo '</tr>';
}
echo '</table>;
};
?>
这对于单行数据非常有效。如果我尝试从表单提交 2 行或更多行,则其中一列会消失。我希望表格格式为:
| top | Bottom | Slant | Fitter | Washer | Fabric | Colours | Quantity |
------------------------------------------------------------------------
|value| value | value | value | value | value | value | value |
根据需要添加额外的行。但是,我找不到任何可以生成这种类型表的示例!
看起来这应该是相当简单的事情,但我就是找不到一个符合我需要的示例。
【问题讨论】:
-
有几件事 - 首先看起来你在 PHP 的最后几行有语法错误 - 也许你正在寻找
echo '</table>'; }其次,当你有多行时,哪一列消失了?添加更多行时,是否将 HTML 中的order[0]更改为order[1]? -
第二行、第三行、第四行等输入的名称是什么?
标签: php html forms multidimensional-array html-table