[php] post接收数组处理
新手,所以问的问题比较低级。望解答。谢谢了。<form action="" method="post"><input type="text" value="" name="text[]">
<select name="cate[]">
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select><br>
<input type="text" value="" name="text[]">
<select name="cate[]">
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select><br>
<input type="text" value="" name="text[]">
<select name="cate[]">
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select><br>
<input type="text" value="" name="text[]">
<select name="cate[]">
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select>
<input type="submit" name="submit" value="提交">
</form>
http://i.6.cn/cvbnm/e4/b8/92/cc57963553dc477f3a111f8803cedca5.jpg
希望输出(three没有,就不显示。同时 text归属到各自的cate下面):
http://i.6.cn/cvbnm/f3/3f/82/fb8750f8e46e42621a6f7c1fbe3ca21a.jpg
:o
..... 写了一大堆,我愣是没怎么看懂到底说的什么和要做什么…… 终于看明白了,我试试,成功的话告诉你 好的。谢谢。cate 的数量是从数据库取出来的,不一定固定是3个 由于我也是新手,所以写的麻烦了很多……大概方法就是这样的,代码你再优化下
php提交页面代码:
$data = $_POST;
$one = '';
$two = '';
$three = '';
for ($i=0;$i<4;$i++)
{
if ($data['cate'][$i] == 'one')
{
$one = $one.$i.',';
}
if ($data['cate'][$i] == 'two')
{
$two = $two.$i.',';
}
if ($data['cate'][$i] == 'three')
{
$three = $three.$i.',';
}
}
$one = substr($one,0,strlen($one)-1);
$two = substr($two,0,strlen($two)-1);
$three = substr($three,0,strlen($three)-1);
//echo $one."<br />".$two."<br />".$three."<br />";
$one = explode(",",$one);
$two = explode(",",$two);
$three = explode(",",$three);
HTML输出页面代码:
<table border="solid,1px">
<tr>
<td>one</td>
<td>two</td>
<td>three</td>
</tr>
<tr>
<td><?=$data['text'][$one];?></td>
<td><?=$data['text'][$two];?></td>
<td><?=$data['text'][$three];?></td>
</tr>
<tr>
<td><?=$data['text'][$one];?></td>
<td><?=$data['text'][$two];?></td>
<td><?=$data['text'][$three];?></td>
</tr>
<tr>
<td><?=$data['text'][$one];?></td>
<td><?=$data['text'][$two];?></td>
<td><?=$data['text'][$three];?></td>
</tr>
<tr>
<td><?=$data['text'][$one];?></td>
<td><?=$data['text'][$two];?></td>
<td><?=$data['text'][$three];?></td>
</tr>
</table>
实现效果 hehe
for($i=0;$i<=3;$i++){
$postdata[$_POST['cate'][$i]][]=$_POST['text'][$i];
}
print_r($postdata);
页:
[1]