2013-03-12 105 views
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'); 

如何製作它?我沒有想到超越。

+2

那麼,什麼是你的問題? – Neograph734 2013-03-12 14:40:49

回答

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']); 
} 
+0

你是天才! – user1802209 2013-03-12 14:57:14

2

假設數據是安全的......試試這個:

foreach ($_POST[good_id] as $index => $good_id) { 
    foo_func($good_id, $_POST['size'][$index], $_POST['color'][$index], $_POST['count'][$index]); 
} 
+0

您在第一個索引中缺少$;) – Neograph734 2013-03-12 14:42:46

+0

@ Neograph734固定,謝謝 – MosheK 2013-03-12 14:43:04

+0

謝謝!我沒有想到它.. – user1802209 2013-03-12 14:47:05