程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 基於ThinkPHP實現批量刪除

基於ThinkPHP實現批量刪除

編輯:PHP綜合

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

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


HTML布局(基於bootstrap)

<div class="panel panel-default">
  <div 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>
  </div>
  <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>
</div>

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

/* 批量刪除 */
  // 全選
  $('.all').click(function() {
    if($(this).is(':checked')) {
      $(':checkbox').attr('checked', 'checked');
    } else {
      $(':checkbox').removeAttr('checked');
    }
  });

  // 刪除操作
  $('#discard').click(function() {
    if($(':checked').size() > 0) {
      layer.confirm('確定要刪除嗎?', {
        btn: ['確定','取消'], //按鈕
        shade: false //不顯示遮罩
      }, function(){
        $.post("{:U('Single/discard')}", {data: $('form').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('取消了刪除!', {time: 1000});
      });
    } else {
      layer.alert('沒有選擇!');
    }
  });

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

public function discard() {
  $contact = M('contact');
  $deleteArr = I('post.data');
  for($i=0;$i<count($deleteArr);$i++) {
    $contact->delete($deleteArr[$i]['value']);
  }
  $this->ajaxReturn(array('message'=>'刪除成功!'));
}

以上就是ThinkPHP實現批量刪除的關鍵性代碼,希望對大家的學習有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved