Heim > Artikel > Backend-Entwicklung > PHP-Batch-Löschvorgang
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="''" 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='checkbox' value='{$attr[0]}' name='item[]' class='ck' /> {$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:
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='{$v}'"; // $db->query($sql); //} $str = implode("','",$arr);//拼接字符, $sql = "delete from contacts WHERE id in('{$str}')"; //2','8','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!