批量删除多条记录,对于比较多的信息,如果没有批量删除功能是非常麻烦的。
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