Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Batch-Löschvorgang

PHP-Batch-Löschvorgang

高洛峰
高洛峰Original
2017-02-28 15:08:344267Durchsuche

Das stapelweise Löschen mehrerer Datensätze ist sehr mühsam, wenn für relativ große Informationsmengen keine Stapellöschfunktion vorhanden ist.

1. Holen Sie sich eine Tabelle aus der Datenbank und schreiben Sie ein Kontrollkästchen zur Auswahl.

Sie können ein Kontrollkästchen „Alle auswählen“ hinzufügen.

Mit der Datenbank verbinden oder so Sie müssen nichts schreiben

Code:

<form action="piliangshanchu.php" method="post" >
<table border="1" cellspacing="0" cellpadding="0">
  <tr>

    <td width="200">
      <input type="checkbox" value="&#39;&#39;" name="dx" onclick="checkall(this)" />
      编号</td>
    <td width="200">姓名</td>
    <td width="200">电话</td>
    <td width="200" >分组</td>
    <td width="200" >操作</td>
  </tr>
<tr>
    <td>
    <input type=&#39;checkbox&#39; value=&#39;{$attr[0]}&#39; name=&#39;item[]&#39; class=&#39;ck&#39; />
    {$attr[0]}</td> 

    <td>{$str}</td>
    <td>{$attr[2]}</td>
    <td>{$nation}</td>

</tr>


</table>

  <input type="submit" value="批量删除"/>
  </form>

Plus eine Schaltfläche zum Stapellöschen

Bild oben:

PHP-Batch-Löschvorgang

Wenn ich klicke, um alle auszuwählen, kann ich ganz einfach alle auswählen, indem ich js click event verwende

Code:

<script>
  function xxx(qx)
  {

//全选多选的选中状态
    var ck = document.getElementsByClassName("ck");
 //让下面所有的多选选中状态改变
    if(qx.checked)
    {
      for(i = 0;i < ck.length ; i++)
      {
        ck[i].setAttribute("checked","checked");
//状态改变为选中
      }
    }
    else
    {
      for(var i = 0;i < ck.length;i++)
      {
        ck[i].removeAttribute("checked");
//移除选中
      }
    }
  }
</script>

2. Gelöschte Verarbeitungsseite

Code:

<?php
$arr = $_POST["item"];
$db = new mysqli("localhost","root","12345678","heiheihei");
//foreach($arr as $v)
//{
//  $sql = "delete from contacts WHERE id=&#39;{$v}&#39;";
//  $db->query($sql);
//}
$str = implode("&#39;,&#39;",$arr);//拼接字符,
$sql = "delete from contacts WHERE id in(&#39;{$str}&#39;)";
//2&#39;,&#39;8&#39;,&#39;4
if($db->query($sql))//判断是否查询成功,
{
  header("location:shouye.php");
  //成功就跳转
}



?>

Die Datenübertragung mit foreach ist zu langsam , delete Es gibt viele Durchläufe, also urteilen Sie direkt. Weitere Artikel zu PHP-Batch-Löschvorgängen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn