日期:2014-05-16  浏览次数:20611 次

php批量修改问题
表 user 
user_id  money
 1        1000
 2        1500
 3        1200
 4        1300

如何批量修改money字段?
前端代码:
<input name='user[]' type='checkbox' value='1'> <input name='jf[]' type='text' value='要修改的值' />
<input name='user[]' type='checkbox' value='2'> <input name='jf[]' type='text' value='要修改的值' />
<input name='user[]' type='checkbox' value='3'> <input name='jf[]' type='text' value='要修改的值' />

问:如何处理$_POST['user']和$_POST['jf']两个数组,并保证两个值是一一对应的?
具体的代码如何写?先谢谢大家!
------解决方案--------------------
没有被选中的 checkbox 不会被提交
checkbox 提交的是值(数组)

按你的设计
$_POST['jf'][$_POST['user'][i]-1] 就是 user 对应的 jf
i 为传入的 $_POST['user'] 数组的下标

通常宜这样做
<input name='user[]' type='checkbox' value='1'> <input name='jf[1]' type='text' value='要修改的值' />
<input name='user[]' type='checkbox' value='2'> <input name='jf[2]' type='text' value='要修改的值' />
使得一开始就一一对应
------解决方案--------------------

<input name='user[]' type='checkbox' value='1'> <input name='jf[1]' type='text' value='要修改的值1' />
<input name='user[]' type='checkbox' value='2'> <input name='jf[2]' type='text' value='要修改的值2' />



$jf  = $_POST['jf'];
$user  = $_POST['user'];
foreach($user as $v){
echo $jf[$v];
}

------解决方案--------------------
<input name='user[]' type='checkbox' value='1'> <input name='jf[]' type='text' value='要修改的值' />
<input name='user[]' type='checkbox' value='2'> <input name='jf[]' type='text' value='要修改的值' />
foreach($_POST['user'] as $k) {
  printf('%s %s', $k, $_POST['jf'][$k-1]);
}

<input name='user[]' type='checkbox' value='1'> <input name='jf[1]' type='text' value='要修改的值' />
<input name='user[]' type='checkbox' value='2'> <input name='jf[2]' type='text' value='要修改的值' />
foreach($_POST['user'] as $k) {
  printf('%s %s', $k, $_POST['jf'][$k]);
}