PHP
·
发表于 5年以前
·
阅读量:8291
批量删除多条记录,对于比较多的信息,如果没有批量删除功能是非常麻烦的。
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数据传输过慢,删除遍历繁多,因此直接判断;