thinkphp批量删除的实现

今天自己在写后台的时候需要把以前上传的测试文章全部删除掉,但是利用 【操作】里面的一个个删除比较慢,因此想出一个批量删除的解决方案。

首先在前端页面里面建立一个表单,这个表单是把你选中的单选按钮提交到控制器的操作函数

 <form action="__URL__/deleteSelected" method="post"></form>

批量删除前端用了一个js 的简单验证

  <a href="#" onclick="delAll()" class="delete"><span class="glyphicon glyphicon-trash"> </span> 批量删除</a>
 <td class="tc"><input name="id[]" value="<{$voList.txt_id}>" type="checkbox"></td>
 <script>
  function delAll(){
      var chk_value =[];
      $(‘input[name="id[]"]:checked‘).each(function(){
        chk_value.push($(this).val());
      });
      console.log(chk_value);
      var submit = confirm(chk_value.length==0 ?‘你还没有选择任何内容!‘:‘您是否需要将id ‘+chk_value+‘删除‘);
      if (submit) {
        window.location.href = "__URL__/deleteSelected/id/"+chk_value;
        return false;
      } else{
        return false;
      };
    }
 </script>

主要功能实现是通过后台的操作来完成的,代码如下

    //批量删除
    public function deleteSelected(){
        $getid = $_REQUEST[‘id‘]; //获取选择的复选框的值
        dump($getid);
        if (!$getid)
            $this->error(‘未选择记录‘); //没选择就提示信息
        $getids = implode(‘,‘, $getid); //选择一个以上,就用,把值连接起来(1,2,3)这样
        $id = is_array($getid) ? $getids : $getid; //如果是数组,就把用,连接起来的值覆给$id,否则就覆获取到的没有,号连接起来的值
     //最后进行数据操作,
        $Result = D("Txt")->delete($id);
        $say = ‘删除成功‘;
        if ($Result === false) {
            $this->error(‘操作失败‘);
        } else {
            $this->success($say);
        }
    }
时间: 2024-08-30 02:30:25

thinkphp批量删除的实现的相关文章

thinkphp 批量删除

1.表单 提交数据 <form action="__URL__/deleteSelected" method="post"></form> 2.js验证 <a href="#" onclick="delAll()" class="delete"> 批量删除</a> <td class="tc"><input name=&q

使用thinkPHP框架实现删除和批量删除一例【原创】

本文为作者原创,转载请注明原作者及转载地址. 上一篇讲了如何用thinkPHP框架实现数据的添加,那这一篇就讲一下如何用thinkPHP实现数据的删除和批量删除吧. 预期效果图: 原谅博主对照片的处理是如此的草率吧... 仍然是 通过MVC模式进行拆分: 首先是视图部分: <form action="__MODULE__/Admin/User/del" method="get"> <tr> <th width="4%"

夺命雷公狗ThinkPHP项目之----企业网站16之文章批量删除的完成

我们在做一个网站时候经常会遇到批量删除这个选项,其实也很简单,我们之需要用用jq实现出来效果然后通过表单post过去后端即可实现: 我们做这个功能前必须要先引入jq,我的jq版本是1.8.3,方法如下所示: <script> //在 jq 1.8.3测试成功 $("#selall").click(function(){ if($(this).attr("checked")){ $('.selall').attr("checked",&

mysq批量删除sleep进程

由于sleep进程比较多,就写个特简单的脚本,批量删除下,只保留5个即可 #!/bin/sh n=`/export/servers/mysql/bin/mysqladmin processlist -uroot -pxxxxx|grep -i sleep |wc -l` echo $n if [ "$n" -gt 10 ] then for i in `/export/servers/mysql/bin/mysqladmin processlist -uroot -pxxxxxx|gr

批量删除遇见的问题

做批量删除时遇见的问题: org.apache.ibatis.binding.BindingException: Parameter 'ids' not found. Available parameters are [array] 前台jsp页面的ajax请求可以进入: 但是点击批量删除的按钮时会报这个错误: 后来发现是Mapper中的collection定义错了: 把<foreach>标签中的collection="ids"改为collection="arra

利用yii2 gridview实现批量删除案例[转]

今天仍然继续探讨GridView的问题,昨天有个小伙伴留言说你用gridview给我去掉表头的链接?我想啊想,这用gridview确实不容易实现,至少我没想出来,会的下方可留言.但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛. 这个问题也是很简单的,我们来看看具体实现 $dataProvider = new ActiveDataProvider([ "query" => $query, ]); $d

【DRP】—【SQL】批量删除

1 /** 2 * 批量删除用户 3 * 4 * 采用一条语句完成删除 5 * 只提交一次 6 * 7 * 采用Statement拼串方式 8 * delete from t_user where user_id in ('aaaa', 'afff', 'eeee') 9 * @param userIds 10 */ 11 public void delUser(String[] userIds) { 12 StringBuilder sbStr = new StringBuilder(); 1

5月21 汽车查询及批量删除----php方法

---恢复内容开始--- 这个与之前不同是在php中实现了页面的查询,引用AJAX实现批量删除及弹窗的显示 作业要求: 页面显示数据代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.or

批处理 批量删除当前目录及子目录下多个指定的扩展名文件

批量删除当前目录及子目录下任意指定的扩展名文件 今编译DEV的语言文件,各种语言文件不需要,只保留中文的语言文件,写个批处理也方便以后使用 1 @echo off 2 set Path=%CD% 3 cd /d Path 4 del /f/s/q/a *.tlog 5 del /f/s/q/a *.cache 6 del /f/s/q/a *.txt 7 del /f/s/q/a *.pdb 8 del /f/s/q/a *.resources 9 del /f/s/q/a *.vspscc 1