这是一个thinkphp中的批量修改的案例:

如需要删除多项,或者同时修改多项记录

要点:

前端表单中name要加[],如:<input type="hidden" name="id[]" value="{$vo.id}">

后端接受如:$id = $_POST [id] [$i];     $i为for中的循环变量,当$i相同时可以使得$_POST [id] [$i]和$_POST [name] [$i]为一一对应;

前端表单:

<form name="form1" method="post" action="__GROUP__/Repair/updateList">
对所选操作:<input type="submit" value="保 存" class="btn btn-primary"> <br>
<table id="checkList" class="list table table-hover">
<tr>
<th scope="col"><input id="check" type="checkbox"
onclick="checkAll()" /> 全选</th>
<th scope="col">主题</th>
<th scope="col">校区</th>
<th scope="col">房间</th>
<th scope="col">报修人</th>
<th scope="col">联系电话</th>
<th scope="col">报修时间</th>
<th scope="col">审核</th>
<th scope="col">报修状态</th>
</tr>
<volist name="list" id="vo">
<tr>
<td><input type="checkbox" name="key" value="{$vo.id}">{$vo.id}<input type="hidden" name="id[]" value="{$vo.id}"></td>
<td>{$vo.topic}</td>
<td>{$vo.xiaoqu}</td>
<td>{$vo.room}</td>
<td>{$vo.pname}</td>
<td>{$vo.phone}</td>
<td>{$vo.create_time|date='Y-m-d H:i:s',###}</td>
<td><select name="check[]"><switch name="vo.check">
<case value="0">
<option value="0" selected="selected">未审核</option>
<option value="1">审核</option>
</case> <default />
<option value="0">未审核</option>
<option value="1" selected="selected">审核</option>
</switch></select></td>
<td><select name="status[]"><switch name="vo.status">
<case value="已修">
<option value="未修">未修</option>
<option value="任务已下">任务已下</option>
<option value="已修" selected="selected">已修</option>
</case> <case value="任务已下">
<option value="未修">未修</option>
<option value="任务已下" selected="selected">任务已下</option>
<option value="已修">已修</option>
</case> <default />
<option value="未修" selected="selected">未修</option>
<option value="任务已下">任务已下</option>
<option value="已修">已修</option>
</switch></select></td>
</tr>
</volist>
</table>
</form>

服务端处理:

    /**
* 批量修改状态
*/
public function updateList() {
$result = false;
for($i = 0; $i < count ( $_POST [id] ); $i ++) { $id = $_POST [id] [$i];
$check = $_POST [check] [$i];
$status = $_POST [status] [$i]; // 保存登录信息
$Repair = M ( 'Repair' );
$data ['id'] = $id;
$data ['check'] = $check;
$data ['status'] = $status;
$result = $Repair->save ( $data );
} if (false !== $result) {
$this->success ( '修改成功!' );
} else {
$this->error ( '修改失败!' );
}
}

php批量POST修改的更多相关文章

  1. SQL批量增加修改数据

    insert into A表(字段1,字段2) select 字段1,字段2 From B表 [注:字段类型.字段数应相同] --批量进行修改ID值 declare @i int begin )) F ...

  2. ASP.NET MVC用存储过程批量添加修改数据

    用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的 ...

  3. SQL批量提交修改业务

    把你需要批量提交修改的东西在内存中修改完毕 然后执行以下代码 SqlConnection conn = new SqlConnection(ConnectionString);SqlDataAdapt ...

  4. hibernate 批量增加 修改 删除

    4.2  Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete ...

  5. mysql批量生成修改表和列注释语句

    当我们在一个数据库修改完备注后,需要将其导致另一个服务器上的数据库中,需要生成批量执行语句,方便操作,注意用change 或modified 进行列的属性修改时,没有写全的话会造成其它属性的丢失,如 ...

  6. EF 批量 添加 修改 删除

    1批量添加    db.T_Investigator.AddRange(list) 2批量删除    db.T_Investigator.RemoveRange(list) 3批量修改   for 循 ...

  7. ElasticSearch.net NEST批量创建修改删除索引完整示例

    本示例采用Elasticsearch+Nest 网上查了很多资料,发现用C#调用Elasticsearch搜索引擎的功能代码很分散,功能不完整,多半是非常简单的操作,没有成型的应用示例.比如新增或修改 ...

  8. DOS和BAT批量提取修改文件名

    DOS命令窗口:开始-cmd-回车,进入DOS命令窗口 案例一.获取文件名 dir 1.输入"文件所在盘",回车,如: d: 2.输入"cd 文件夹位置",回车 ...

  9. 基于JQuery easyui,gson的批量新增/修改和删除-servlet版

    最近项目需要用到在页面进行批量操作,做了一些这方面的学习,参照网上的资料写了个小例子,记录一下: 准备 引入gson-2.6.2.jar,这里使用gson而不使用json-lib,原因是json-li ...

  10. 项目element-ui checkbox里面获取选中项 实现批量删除 修改

    <el-table :data="tableData" stripe border style="width: 100%" @selection-chan ...

随机推荐

  1. mac安装指定版本的openjdk

    先安装SDKMAN,教程在https://sdkman.io/install 然后 sdk list java sdk install java 11.0.5.hs-adpt

  2. 创建ThreadFactory实例的多种方式

    spring的CustomizableThreadFactory guava的MoreExecutors.platformThreadFactory()静态方法 guava的ThreadFactory ...

  3. Luogu P3408 恋爱

    题目链接:Click here Solution: 设f[x]表示要使x向它的父亲写信需要花的最少的钱,per[x]为要使x向它的父亲写信最少要多少人 则\(f[x]=\sum_{i=1}^{per[ ...

  4. PKUWC2020爆零记

    抱歉,这么晚才更. 事实是:我都没有去 所以爆零了 QwQ

  5. 序列式容器————forward_list

    单链表的形式存储元素.forward_list 的模板定义在头文件 forward_list 中.fdrward_list 和 list 最主要的区别是:它不能反向遍历元素:只能从头到尾遍历. for ...

  6. vue.js 深度监测

    1.select 控件赋值改变,但是无法获取 解决方法,在监测时手动赋值新值 'model.UseType': { handler(newVal, oldVal) { $("#UseType ...

  7. Python os模块方法

    os模块提供了大量有用的方法来处理文件和目录.本章节中的代码实例是在 Ubuntu Linux系统上运行来演示. 大多数有用的方法都列在这里 - 编号 方法 描述/说明 1 os.access(pat ...

  8. 前端iPhone X适配总结

    屏幕尺寸 垂直方向上,iPhone X的显示宽度与iPhone 6,iPhone 7 和 iPhone 8 的 4.7 英寸一样,但是比4.7英寸的显示屏高145pt. 安全区域 安全区域指的是一个可 ...

  9. python正则之match search findall

    match:只匹配一次,开头匹配不上,则不继续匹配 a,b,\w+ match(a,"abcdef") 匹配a >>> re.match("a" ...

  10. 第五周课程总结&试验报告

    this和super的区别 区别点 this super 属性访问 访问同类中的属性,如果本类没有此属性则从父类中继续查找 访问父类中的属性 方法 访问本类中的方法,如果本类中没有此方法,则从父类中继 ...