我想构建一个包含多个(未知数量)行的表单,并最终将该数据插入到数据库中。但是,我的一个输入字段是多选,这会使数组混乱。
当前(简化)的html代码:
<form name="testform" action="testarray.php" method="post">
<table>
<tr>
<td><label>formdata</label></td>
<td><select name="formdata[][]" multiple="multiple">
<option> </option>
<option value="item1">Item 1</option>
<option value="item2">Item 2</option>
<option value="item3">Item 3</option>
</select></td>
</tr>
<tr>
<td><label>formdata</label></td>
<td><select name="formdata[][]" multiple="multiple">
<option> </option>
<option value="item1">Item 1</option>
<option value="item2">Item 2</option>
<option value="item3">Item 3</option>
</select></td>
</tr>
</table>
<button type="submit" value="submit">Submit</button>
</form>
如果我在第一个输入上选择item2,并选择item2&amp;第二个输入上的item3,然后只需在操作页面print_r($_POST['formdata']);
上打印数组,而不是数组如下所示:
Array ( [0] => Array ( [0] => item2 ) [1] => Array ( [0] => item2 ) [2] => Array ( [0] => item3 ) )
我希望它看起来像这样:
Array ( [0] => Array ( [0] => item2 ) [1] => Array ( [0] => item2 [1] => item3))
我错过了什么?
答案 0 :(得分:0)
这是有效的
<?php
$i=0;
?>
<form name="testform" action="testarray.php" method="get">
<table>
<tr>
<td><label>formdata</label></td>
<td><select name="formdata[<?php echo $i++ ?>][]" multiple="multiple">
<option> </option>
<option value="item1">Item 1</option>
<option value="item2">Item 2</option>
<option value="item3">Item 3</option>
</select></td>
</tr>
<tr>
<td><label>formdata</label></td>
<td><select name="formdata[<?php echo $i++ ?>][]" multiple="multiple">
<option> </option>
<option value="item1">Item 1</option>
<option value="item2">Item 2</option>
<option value="item3">Item 3</option>
</select></td>
</tr>
</table>
<button type="submit" value="submit">Submit</button>
</form>