0

我有一个简单的表格,例如:

<tr data-good-id="1">
    <td><input type="text" name="good_id[item1]" value="1"/></td>
    <td><input type="text" name="size[item1]" value="XL"/></td>
    <td><input type="text" name="color[item1]" value="White"/></td>
    <td><input type="text" name="count[item1]" value="1"/></td>
</tr>
<tr data-good-id="2">
    <td><input type="text" name="good_id[item2]" value="2"/></td>
    <td><input type="text" name="size[item2]" value="L"/></td>
    <td><input type="text" name="color[item2]" value="Black"/></td>
    <td><input type="text" name="count[item2]" value="10"/></td>
</tr>

我需要在提交后对表格的每一行执行此功能:

foo_func($good_id, $size, $color, $count);

样本:

foo_func('1', 'XL', 'White', '1');
foo_func('2', 'L', 'Black', '10');

怎么做?我没想过。

4

2 回答 2

2

假设数据是安全的......试试这个:

foreach ($_POST[good_id] as $index => $good_id) {
    foo_func($good_id, $_POST['size'][$index], $_POST['color'][$index], $_POST['count'][$index]);
}
于 2013-03-12T14:41:50.370 回答
1

我认为最好是一个项目包含它的属性,而不是包含项目的属性。像这样做:

<tr data-good-id="1">
    <td><input type="text" name="item[1][good_id]" value="1"/></td>
    <td><input type="text" name="item[1][size]" value="XL"/></td>
    <td><input type="text" name="item[1][color]" value="White"/></td>
    <td><input type="text" name="item[1][count]" value="1"/></td>
</tr>
<tr data-good-id="2">
    <td><input type="text" name="item[2][good_id]" value="2"/></td>
    <td><input type="text" name="item[2][size]" value="L"/></td>
    <td><input type="text" name="item[2][color]" value="Black"/></td>
    <td><input type="text" name="item[2][count]" value="10"/></td>
</tr>

然后为每个项目运行你的函数

foreach ($item as $c_item) {
    foo_func($c_item['good_id'],$c_item['size'],$c_item['color'],$c_item['count']);
}
于 2013-03-12T14:47:52.237 回答