紧急求助!表单数据排序的问题 本帖最后由 inetcc 于 2010-05-19 21:38:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $tmpArr = array();foreach ($_REQUEST as $k => $v){//以sort做为数组的下标,把相关值存入数组 if (substr($k,0,4)=='name'){ $i = substr($k,-1); $tmpArr[${'sort'.$i}] = array(${'name'.$i},${'pic'.$i}); }}$i = 0;$good = '';while (true){ //从0下标开始循环,保证sort从小到大排序 if (isset($tmpArr[$i])){ $good .=$tmpArr[$i][0].'|'.$tmpArr[$i][0].'|'.$i.'\r\n'; $j++; } if (count($tmpArr)<$j ){//退出条件 break; }}$goods = addslashes($goods);echo $goods;希望对你有帮助. for($i=30; $i>=1; $i--) 按照blue44sky的方法还是不行 但是还是非常感谢blue44sky 这样写,注意红色部分的变化$goods = array(); for($i=1; $i<=30; $i++) { if(!empty(${'name'.$i})) { $name = ${'name'.$i}; $pic = ${'pic'.$i}; $sort = ${'sort'.$i}; if($name != "") { $goods[$sort] = "$name|$pic|$sort\r\n"; } } } ksort($goods); $goods = addslashes(join('', $goods)); <html> <head><title>文件上传测试</title> </head> <body> <form action="#" name="form1" method="post"> 商品:<input type='text' name='name1' style='width:80px' value='商品A' /> 图片:<input type='text' name='pic1' style='width:150px' value='' /> 排序:<input type='text' name='sort1' style='width:25px' value='2' /> <br> 商品:<input type='text' name='name2' style='width:80px' value='商品B' /> 图片:<input type='text' name='pic2' style='width:150px' value='' /> 排序:<input type='text' name='sort2' style='width:25px' value='1' /> <br> 商品:<input type='text' name='name5' style='width:80px' value='商品B' /> 图片:<input type='text' name='pic5' style='width:150px' value='' /> 排序:<input type='text' name='sort5' style='width:25px' value='5' /> <input type="submit" name="ok" value="ok"> </form> </body></html><?phpif(isset($_REQUEST['ok'])) { $tmpArr = array(); foreach ($_REQUEST as $k => $v){//以sort做为数组的下标,把相关值存入数组 if (substr($k,0,4)=='name'){ $i = substr($k,-1); $tmpArr[$_REQUEST["sort$i"]] = array($_REQUEST["name$i"],$_REQUEST["pic$i"]); } } $i = 0; $j = 0; $good = ''; while ($j<count($tmpArr)){ //从0下标开始循环,保证sort从小到大排序 if (isset($tmpArr[$i][0])){ $good .=$tmpArr[$i][0].'|'.$tmpArr[$i][1].'|'.$i.'\r\n'; echo($tmpArr[$i][0].$tmpArr[$i][1].$i.'<br>'); $j++; } $i++; } $good = addslashes($good); echo $good;} ?>测试可以,你再试试吧 多谢blue44sky了,测试可以了。之前我用了一个土方法,输出结果之后,再读取结果,读取的时候代入排序值,之后再循环处理输出结果寸入数据库 关于学习 oa 系统 queryphp框架发布新版 自动生成html 添加分页类 图片处理类 PHP中GBK和UTF8编码处理 php的文件遍历问题 可否谈一下PHP168、PHPCMS 这些网站整站的意见。 高分求教:关于获得值的问题。 为什么对留言本要进行htmlspecialchars函数处理? 谁能提供用 php 阅读和发送 E-Mail 完整代码。(2) 一个php的问题? PHP如何生成PDF文件并且打包成GZ文件 php创建中文文件夹乱码的问题 ajax 提交数据获取的问题
foreach ($_REQUEST as $k => $v){//以sort做为数组的下标,把相关值存入数组
if (substr($k,0,4)=='name'){
$i = substr($k,-1);
$tmpArr[${'sort'.$i}] = array(${'name'.$i},${'pic'.$i});
}
}$i = 0;
$good = '';
while (true){ //从0下标开始循环,保证sort从小到大排序
if (isset($tmpArr[$i])){
$good .=$tmpArr[$i][0].'|'.$tmpArr[$i][0].'|'.$i.'\r\n';
$j++;
}
if (count($tmpArr)<$j ){//退出条件
break;
}
}
$goods = addslashes($goods);
echo $goods;希望对你有帮助.
for($i=1; $i<=30; $i++)
{
if(!empty(${'name'.$i}))
{
$name = ${'name'.$i};
$pic = ${'pic'.$i};
$sort = ${'sort'.$i}; if($name != "")
{
$goods[$sort] = "$name|$pic|$sort\r\n";
}
}
}
ksort($goods);
$goods = addslashes(join('', $goods));
<head><title>文件上传测试</title>
</head>
<body>
<form action="#" name="form1" method="post">
商品:<input type='text' name='name1' style='width:80px' value='商品A' />
图片:<input type='text' name='pic1' style='width:150px' value='' />
排序:<input type='text' name='sort1' style='width:25px' value='2' />
<br>
商品:<input type='text' name='name2' style='width:80px' value='商品B' />
图片:<input type='text' name='pic2' style='width:150px' value='' />
排序:<input type='text' name='sort2' style='width:25px' value='1' />
<br>
商品:<input type='text' name='name5' style='width:80px' value='商品B' />
图片:<input type='text' name='pic5' style='width:150px' value='' />
排序:<input type='text' name='sort5' style='width:25px' value='5' />
<input type="submit" name="ok" value="ok">
</form>
</body>
</html>
<?php
if(isset($_REQUEST['ok'])) {
$tmpArr = array();
foreach ($_REQUEST as $k => $v){//以sort做为数组的下标,把相关值存入数组
if (substr($k,0,4)=='name'){
$i = substr($k,-1);
$tmpArr[$_REQUEST["sort$i"]] = array($_REQUEST["name$i"],$_REQUEST["pic$i"]);
}
}
$i = 0;
$j = 0;
$good = '';
while ($j<count($tmpArr)){ //从0下标开始循环,保证sort从小到大排序
if (isset($tmpArr[$i][0])){
$good .=$tmpArr[$i][0].'|'.$tmpArr[$i][1].'|'.$i.'\r\n';
echo($tmpArr[$i][0].$tmpArr[$i][1].$i.'<br>');
$j++;
}
$i++;
}
$good = addslashes($good);
echo $good;
}
?>
测试可以,你再试试吧