我有一个表单,我重复相同的字段,因为我没有用户,如果他有多个项目发送第一个项目,他做agin和agin我想从第一次添加所有项目他有,所以我不止一次地使用相同的必填字段。
<form>
<select name="items[]">
<option value="clothes">Clothes</option>
<option value="shoes">Shoes</option>
</select>
<input type="text" name="color[]" />
<select name="items[]">
<option value="clothes">Clothes</option>
<option value="shoes">Shoes</option>
</select>
<input type="text" name="color[]" />
</form>
我知道如何只得到一个这样的字段:name =“color []”我可以得到结果:
while(list($key,$value) = each($_POST['color'])){
if(!empty($value)){
echo $_POST['color'][$key];
echo "<br />" ;
}}
但现在我想获得所有值“选择项目和颜色”
我在这里制作了这段代码,我得到了所有结果 但它没有相互联系!!!
像这样: 衣服 鞋 红色 蓝色我想这样: 衣服,红 鞋 - 蓝
这是我制作的代码但是我不满意
while(list($key,$value) = each($_POST['input'])){
if(!empty($value)){
echo $_POST['input'][$key];
echo "<br />" ;
}}
while(list($key,$value) = each($_POST['items'])){
if(!empty($value)){
echo $_POST['items'][$key];
echo "<br />" ;
}}
任何人都可以帮助我:)
谢谢,
答案 0 :(得分:1)
将您的选择和输入名称更改为此
<select name="items[0][type]">
<input name="items[0][color]">
<select name="items[1][type]">
<input name="items[1][color]">
然后你可以使用
迭代每对foreach ($_POST['items'] as $item) {
$type = $item['type'];
$color = $item['color'];
}
修改忘记为每对添加索引以将它们组合在一起
答案 1 :(得分:1)
你有两个阵列:
$items = array(0 => 'clothes', 1 => 'shoes')
$color = array(0 => 'blue', 1 => 'red')
连续循环播放两个阵列当然会给你“衣服,鞋子,蓝色,红色”。由于$items
的索引0对应于$color
的索引0,因此您需要一次访问两个数组中的相应索引:
for ($i = 0; $i < count($items); $i++) {
echo $items[$i] . ' - ' . $color[$i];
}