批量和指定删除用户

判断是单选还是多选删除

1.    单行是通过get传参的方式向delete.php文件中写上对应的ID。

2.    而多个删除是通过POST的方式向delete.php页面中传递对应的ID。

3.    如果这两个都不符合的话,那我们可以视为数据不合法。

if (is_array($_POST['id'])) {
    $id = join(',', $_POST['id']);
} elseif (is_numeric($_GET['id'])) {
    $id = (int) $_GET['id'];
} else {
    echo '数据不合法';
    exit;
}

组合SQL语句

我们之前给大家在MySQL这一章时讲解过删除时可以使用到in的子语句。

同样在这里,我们就可以用in的子语句来达到效果。

join函数将多选删除传过来的id变为了3,4,5的格式,最终多选删除的SQL语句执行出来的效果就是:

delete from user where id in(3,4,5,6,8);

而单选删除的语句效果就是:

delete from user where id in(3)

这样我们就实现了单选和多选自适应效果。

$sql = "delete from user where id in($id)";

最终配套而成的整体代码演示如下:

<?php
include 'connection.php';
if (is_array($_POST['id'])) {
    $id = join(',', $_POST['id']);
} elseif (is_numeric($_GET['id'])) {
    $id = (int) $_GET['id'];
} else {
    echo '数据不合法';
    exit;
} 
$sql = "delete from user where id in($id)";
$result = mysqli_query($conn, $sql);
if ($result) {
    echo '删除成功';
} else {
    echo '删除失败';
}


继续学习
||
<?php include 'connection.php'; if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '数据不合法'; exit; } $sql = "delete from user where id in($id)"; $result = mysqli_query($conn, $sql); if ($result) { echo '删除成功'; } else { echo '删除失败'; }
提交重置代码