ThinkPHP 기반 일괄 삭제

3888 단어 thinkPHP일괄 삭제
본 논문 의 사례 는 ThinkpHP 를 바탕 으로 대량 삭 제 된 코드 인 스 턴 스 를 분석 하여 여러분 에 게 참고 할 수 있 도록 공 유 했 습 니 다.구체 적 으로 다음 과 같 습 니 다.
잔말 말고 먼저 효과 도 를 올 려 라.

HTML 레이아웃(boottstrap 기반)

<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 가 대량 삭 제 를 실현 하 는 핵심 코드 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기