批量删除多条记录,对于比较多的信息,如果没有批量删除功能是非常麻烦的。
1.从数据库中拿一张表过来,写个复选框进行选择
可以加全选复选框
连接数据库什么的都不写啦
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
< 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点击事件就可以轻松实现全选
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<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.删除的处理页面
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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数据传输过慢,删除遍历繁多,因此直接判断;
原文链接:http://www.cnblogs.com/xuan584521/p/6440471.html