批量删除多条记录,对于比较多的信息,如果没有批量删除功能是非常麻烦的。
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','4if($db->query($sql))//判断是否查询成功,{ header("location:shouye.php"); //成功就跳转}?>
用foreach数据传输过慢,删除遍历繁多,因此直接判断;
新闻热点
疑难解答