PHP批量删除

如图:信息展示页面 ,在每一项前面加复选框,全选按钮,批量删除按钮

本页面代码具体如下:

<?php
    $db = new MySQLi("localhost","root","123","ceshi");
    $sql = "select info.code,info.name,sex,nation.name,birthday from info,nation where info.nation=nation.code";
    $result = $db->query($sql);
    if($result){
        $arr = $result->fetch_all();
        foreach($arr as $v){
            $sex = $v[2]?"男":"女";
            echo "<tr>
      <td><input class='ck' type='checkbox' name='ck[]' value='{$v[0]}' />{$v[0]}</td>
      <td>{$v[1]}</td>
      <td>{$sex}</td>
      <td>{$v[3]}</td>
      <td>{$v[4]}</td>
      <td>
              <a href='./delete.php?code={$v[0]}' onclick="return confirm('确认删除么?')">
              <button type='button' class='btn btn-primary btn-sm'>删除</button></a><a href='./xiugai.php?code={$v[0]}' >
            <button type='button' class='btn btn-primary btn-sm'>修改</button></a>
      </td>
    </tr>";
        }
    }
    ?>
  </tbody>
</table>

<div><input type="submit" value="批量删除" /><a href="./tianjia.php">添加数据</a></div>
</form>
<script type="text/javascript">
var ckall = document.getElementById("ckall");
ckall.onclick = function(){
    var xz = ckall.checked;
    var ck = document.getElementsByClassName("ck");
    for(var i=0;i<ck.length;i++){
        ck[i].checked = xz; 
    }
}
</script>

我们在点击批量删除按钮提交时跳转到一个PHP页面处理数据,提交时可能会勾选多个选项,那么我们可以把勾选中的选项代号以数组的形式提交给该 PHP页面进行处理,如代码中我们把name规定成ck [ ]这么一个数组。

PHP页面中运用的删除操作可以用SQL语句:

delete from info where code in('p001','p002','p003')

但是我们提交的并不是'p001','p002','p003',而是一个数组ck,ck中包含p001   p002   p003三个值。

那么我们可以运用implode( )方法把p001   p002   p003三个值用','粘合,变成p001','p002','p003

具体代码如下:

<?php
$arr = $_POST["ck"];

//delete from info where code in('p001','p002','p003')

$str = implode("','",$arr);
$sql = "delete from info where code in('{$str}')";

$db = new MySQLi("localhost","root","123","mydb");
$result = $db->query($sql);
if($result){
    header("location:main.php");
}else{
    echo "删除失败!";
}
原文地址:https://www.cnblogs.com/rose1324/p/8288495.html