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

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

要点:

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

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

前端表单:

  1. <form name="form1" method="post" action="__GROUP__/Repair/updateList">
  2. 对所选操作:<input type="submit" value="保 存" class="btn btn-primary"> <br>
  3. <table id="checkList" class="list table table-hover">
  4. <tr>
  5. <th scope="col"><input id="check" type="checkbox"
  6. onclick="checkAll()" /> 全选</th>
  7. <th scope="col">主题</th>
  8. <th scope="col">校区</th>
  9. <th scope="col">房间</th>
  10. <th scope="col">报修人</th>
  11. <th scope="col">联系电话</th>
  12. <th scope="col">报修时间</th>
  13. <th scope="col">审核</th>
  14. <th scope="col">报修状态</th>
  15. </tr>
  16. <volist name="list" id="vo">
  17. <tr>
  18. <td><input type="checkbox" name="key" value="{$vo.id}">{$vo.id}<input type="hidden" name="id[]" value="{$vo.id}"></td>
  19. <td>{$vo.topic}</td>
  20. <td>{$vo.xiaoqu}</td>
  21. <td>{$vo.room}</td>
  22. <td>{$vo.pname}</td>
  23. <td>{$vo.phone}</td>
  24. <td>{$vo.create_time|date='Y-m-d H:i:s',###}</td>
  25. <td><select name="check[]"><switch name="vo.check">
  26. <case value="0">
  27. <option value="0" selected="selected">未审核</option>
  28. <option value="1">审核</option>
  29. </case> <default />
  30. <option value="0">未审核</option>
  31. <option value="1" selected="selected">审核</option>
  32. </switch></select></td>
  33. <td><select name="status[]"><switch name="vo.status">
  34. <case value="已修">
  35. <option value="未修">未修</option>
  36. <option value="任务已下">任务已下</option>
  37. <option value="已修" selected="selected">已修</option>
  38. </case> <case value="任务已下">
  39. <option value="未修">未修</option>
  40. <option value="任务已下" selected="selected">任务已下</option>
  41. <option value="已修">已修</option>
  42. </case> <default />
  43. <option value="未修" selected="selected">未修</option>
  44. <option value="任务已下">任务已下</option>
  45. <option value="已修">已修</option>
  46. </switch></select></td>
  47. </tr>
  48. </volist>
  49. </table>
  50. </form>

服务端处理:

  1. /**
  2. * 批量修改状态
  3. */
  4. public function updateList() {
  5. $result = false;
  6. for($i = 0; $i < count ( $_POST [id] ); $i ++) {
  7.  
  8. $id = $_POST [id] [$i];
  9. $check = $_POST [check] [$i];
  10. $status = $_POST [status] [$i];
  11.  
  12. // 保存登录信息
  13. $Repair = M ( 'Repair' );
  14. $data ['id'] = $id;
  15. $data ['check'] = $check;
  16. $data ['status'] = $status;
  17. $result = $Repair->save ( $data );
  18. }
  19.  
  20. if (false !== $result) {
  21. $this->success ( '修改成功!' );
  22. } else {
  23. $this->error ( '修改失败!' );
  24. }
  25. }

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. 【leetcode】LCP 1. Guess Numbers

    题目如下: 小A 和 小B 在玩猜数字.小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜.他们一共进行三次这个游戏,请返回 小A 猜对了几次? 输入的gues ...

  2. node.js入门学习(三)--npm

    一.npm介绍 1)npm:node package manager是node.js默认的以js编写的软件包管理系统 官网:www.npmjs.com 文档:docs.npmjs.com 2)提到np ...

  3. consul windows下搭建

    起源 由于项目在linux部署,但是开发和测试是在windows下的,所以,暂时接触到consul,暂时也不会远程连接,只好在windows下安装consul 过程 去官网下载:https://www ...

  4. CSS 手动画热销小图标

    效果图 HTML 标签 <div class="main"> <div class="small"> <div class=&qu ...

  5. CentOS查看进程端口号以及kill操作

    查看端口: 使用 netstat   -anp   |   grep  8090即:netstat –apn | grep  8090 查看进程:1.ps 命令用于查看当前正在运行的进程,grep 是 ...

  6. Java数据结构之排序---快速排序

    快速排序是对冒泡排序的一种改进. 快速排序的基本思想: 假设我们以升序为例,它的执行流程可以概括为,每一趟选择当前所有子序列中的一个关键字(通常我们选择第一个,下述代码实现选择的也是第一个数)作为枢纽 ...

  7. 测试常用shell语句——数值,数组类型;函数创建

    一.特殊类型的变量 shell下默认的变量类型为字符串类型 1,数值类型 如果进行数值运算,有这么几种方法 方法一: declare -i sum sum=+ echo $sum 方法二: sum=$ ...

  8. 简单地使用webpack进行打包

    之前写的有些零散,现在一步步再重新写.记住: 如果你步骤对,但是始终没成功, 那么请不要烦心, 因为webpack版本4以上, 语义更加严格,命令有一些已经发生改变了,所以并不是你的问题! 一.确保已 ...

  9. 译-使用Scroll Snapping实现CSS控制页面滚动

    特别声明,本文翻译自@alligatorio的Control Page Scroll in CSS Using Scroll Snapping一文,受限于译者能力,译文或存在不足,欢迎大家指出.如需转 ...

  10. ide破解

    https://blog.csdn.net/yangying496875002/article/details/73603303