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);
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM