ThinkPHP實作批量刪除

不言
發布: 2023-03-30 20:08:02
原創
1717 人瀏覽過

這篇文章主要介紹了基於ThinkPHP實現批量刪除的程式碼實例,具有一定的參考價值,有興趣的小夥伴們可以參考一下

本文實例分析了基於ThinkPHP實現批量刪除的程式碼實例,分享給大家參考,具體如下:

廢話不多說,先上效果圖:


HTML佈局(基於bootstrap)

<p class="panel panel-default">
  <p class="panel-heading">
    留言列表
    <a class="btn btn-xs btn-default pull-right" href="javascript:window.history.back();">返回</a>
    <a class="btn btn-xs btn-info pull-right mr-5" id="discard" href="javascript:;">删除</a>
  </p>
  <table class="table">
    <thead>
      <tr>
        <th><input class="all" type="checkbox"/></th>
        <th>id</th>
        <th>名称</th>
        <th>邮箱</th>
        <th>内容</th>
        <th>日期时间</th>
        <th>操作</th>
      </tr>
    </thead>
    <tbody>
       <form>
         <volist name="list" id="vo" empty="$empty">
           <tr>
             <td><input name="delete[]" type="checkbox" value="{$vo.id}" /></td>
             <td>{$vo.id}</td>
             <td>{$vo.name}</td>
             <td>{$vo.email}</td>
             <td>{$vo.subject}</td>
             <td>{$vo.datetime|date="Y-m-d H:i", ###}</td>
           <td>
            <a class="delete" href="javascript:;" data-id="{$vo.id}">删除</a>
           </td>
           </tr>
         </volist>
       </form>
    </tbody>
  </table>
</p>
登入後複製

JS腳本處理(使用ajax技術)
首先判斷有沒有選取的值,如果沒有則提示;如果有,則傳遞到伺服器端處理

#
/* 批量删除 */
  // 全选
  $(&#39;.all&#39;).click(function() {
    if($(this).is(&#39;:checked&#39;)) {
      $(&#39;:checkbox&#39;).attr(&#39;checked&#39;, &#39;checked&#39;);
    } else {
      $(&#39;:checkbox&#39;).removeAttr(&#39;checked&#39;);
    }
  });

  // 删除操作
  $(&#39;#discard&#39;).click(function() {
    if($(&#39;:checked&#39;).size() > 0) {
      layer.confirm(&#39;确定要删除吗?&#39;, {
        btn: [&#39;确定&#39;,&#39;取消&#39;], //按钮
        shade: false //不显示遮罩
      }, function(){
        $.post("{:U(&#39;Single/discard&#39;)}", {data: $(&#39;form&#39;).serializeArray()}, function(res) {
          if(res.state == 1) {
            layer.msg(res.message, {icon: 1, time: 1000});
          } else {
            layer.msg(res.message, {icon: 2, time: 1000});
          }
          setTimeout(function() {
            location.reload();
          }, 1000);
        });
      }, function(){
        layer.msg(&#39;取消了删除!&#39;, {time: 1000});
      });
    } else {
      layer.alert(&#39;没有选择!&#39;);
    }
  });
登入後複製

PHP程式碼:
取得提交的數據,然後循環得到每一個id的值,接著進行刪除操作。

public function discard() {
  $contact = M(&#39;contact&#39;);
  $deleteArr = I(&#39;post.data&#39;);
  for($i=0;$i<count($deleteArr);$i++) {
    $contact->delete($deleteArr[$i][&#39;value&#39;]);
  }
  $this->ajaxReturn(array(&#39;message&#39;=>&#39;删除成功!&#39;));
}
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

關於thinkPHP實作批次刪除的方法

關於thinkphp框架實作刪除和批次刪除的分析

關於thinkphp框架實作資料新增和顯示的功能方法

##

以上是ThinkPHP實作批量刪除的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!