php批量删除,批量操作

批量删除多条记录,对于比较多的信息,如果没有批量删除功能是非常麻烦的。

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数据传输过慢,删除遍历繁多,因此直接判断;

 

posted @ 2017-11-28 19:17  lonmy  阅读(952)  评论(0编辑  收藏  举报