批量刪除多筆記錄,對於比較多的信息,如果沒有批量刪除功能是非常麻煩的。
1.從資料庫拿一張表過來,寫個複選框進行選擇
可以加全選複選框
連接資料庫什麼的都不寫啦
程式碼:
<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>
#外加一個批次刪除按鈕
上圖:
我如果點選全選,利用js點擊事件就可以輕鬆實現全選
#程式碼:
<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.刪除的處理頁面
程式碼:
<?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"); //成功就跳转 } ?>
用foreach資料傳輸過慢,刪除遍歷繁多,因此直接判斷;
更多php批量刪除操作相關文章請關注PHP中文網!