>  기사  >  백엔드 개발  >  ThinkPHP는 일괄 삭제를 구현합니다.

ThinkPHP는 일괄 삭제를 구현합니다.

不言
不言원래의
2018-06-08 15:38:571746검색

이 글은 ThinkPHP 기반의 일괄 삭제를 위한 코드 예제를 주로 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

이 글은 ThinkPHP 기반의 일괄 삭제를 위한 코드 예시를 분석하여 여러분께 공유합니다.

더 이상 고민하지 않고 렌더링은 다음과 같습니다.


HTML 레이아웃(부트스트랩 기반)

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.