返回介绍

13.5 批量和指定删除用户

发布于 2025-01-30 22:11:36 字数 1226 浏览 0 评论 0 收藏 0

我们在 13.3 这一节《通过步骤做一个列表显示》。在删除前,有删除单行数据和删除多行数据。

判断是单选还是多选删除

  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 '删除失败';
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文