首頁 >後端開發 >PHP問題 >如何用php ajax實現批量刪除功能

如何用php ajax實現批量刪除功能

藏色散人
藏色散人原創
2020-08-27 09:12:212469瀏覽

php ajax實作批次刪除的方法:首先引入bootstrap的模態框和資料庫表;然後建立「批次刪除」按鈕的html部分;最後將ajax連接到批次刪除的PHP處理頁面。

如何用php ajax實現批量刪除功能

推薦:《PHP影片教學》 

PHP jQuery Ajax結合寫大量刪除功能

為了美觀,我還是引入了bootstrap的模態框,我引入的是自己的資料庫library中的一張表名為:maninfo表是一張個人資訊表的載入我就不寫了,比較簡單,  大概寫一下需要的按鈕和html部分就可以了

<button type="button" class="btn btn-primary"  id="plscdz" >批量删除</button>

全選:

<input type="checkbox" id="cq"/>

遍歷出來的複選框為

<input type="checkbox" value="{$v[0]}" class="cq"/>

首先是全選按鈕點擊之後可以把遍歷的複選框全部選中

<script type="text/javascript">
 $("#cq").click(function(){
$(".cq").prop("checked",$(this).prop("checked"));
})
</script>

 這裡我只寫了一個簡單的模態框

<div class="modal fade" id="myModal11" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
          <div class="modal-dialog">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
                  ×
                </button>
                <h4 class="modal-title" id="myModalLabel">
                  提示
                </h4>
              </div>
              <div id="qrnr1" class="modal-body">
                您将删除选中的图书!
              </div>
              <div class="modal-footer">
                <button id="qxplsc" type="button" class="btn btn-default" data-dismiss="modal">取消删除</button>
                <button id="qrplsc" type="button" class="btn btn-primary">确认批量删除</button>
              </div>
            </div><!-- /.modal-content -->
          </div><!-- /.modal -->
        </div>
      </div>

這樣前端的內容就完成了,這樣就開始寫js部分了,我全部用的是jquery

var chk = "";
  var check2 = "";
  //判断多个复选框中的某一个是否被实现
  function checked(){
    var count = 0;
    var checkx = $("#cq");
    if(checkx.checked)
    {
      check2=1;//选中全选按钮
    }
    else
    {
      check2=0;//没选中全选按钮
    }
    var checkArry = $(".cq");
    for (var i = 0; i < checkArry.length; i++)
    {
      if(checkArry[i].checked == true)
      {
        //选中的操作
        count++;
      }
    }
    if( count == 0 )
    {
      chk=0;//没有选中项
    }
    else
    {
      chk=1;//有选中项
    }
    //alert(chk);
  }
  function plscdzxx()
  {
    //批量删除
    $("#plscdz").click(function(){
      checked();
      if(chk==1 || check2==1){// 提交
        $(&#39;#myModal12&#39;).modal(&#39;show&#39;);
        $("#nqrplsc").click(function(){/*给确认删除按钮加事件*/
          $(&#39;#myModal12&#39;).modal(&#39;hide&#39;);
          //找选中的主键值,用循环遍历选中的主键值
          var cq =$(".cq");
          var plstr ="";
          for(var i=0;i<cq.length;i++)
          {
            if(cq.eq(i).prop("checked"))
            {
              plstr+=cq.eq(i).val()+"&#39;,&#39;";
            }
          }
          plstr= plstr.substr(0,plstr.length-3); //分隔符占3个字符,截取字符串,去掉最后的"&#39;,&#39;",这样正好匹配SQL语句
          $.ajax({
            async:false,
            url:"plscdz.php",
            data:{plstr:plstr},
            dataType:"TEXT",
            type:"POST",
            success:function(data){
              if(data.trim()=="OK")
              {
                alert("删除成功");
                nload();  //在这里要重新加载一遍页面
              }
              else
              {
                alert("删除失败");
              }
            }
          });
        });
      }
      else if(chk==0)
      {
        // 不提交
        //alert(chk);
        alert("请选择您要删除的内容");
      }
    })
  }

ajax會連接到批量刪除的處理頁面,下面就是批量刪除的處理頁面了

<?php
session_start();
include("DBDA.class.php");
$db = new DBDA();
if(!empty($_POST["plstr"]))
{
  $plstr = $_POST["plstr"];
  $sql = "delete from maninfo where id in (&#39;{$plstr}&#39;)";
  if($db->Query($sql,0))
  {
    echo "OK";
  }
  else
  {
    echo "NO";
  }
}

寫到這兒如果您要是自己嘗試的話,可能不運行,這就需要把批量刪除的方法給調一下,前面有加載的方法的話,那就直接把批量刪除的方法寫到加載方法裡面調用就可以了

以上是如何用php ajax實現批量刪除功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn