文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
13.5 批量和指定删除用户
我们在 13.3 这一节《通过步骤做一个列表显示》。在删除前,有删除单行数据和删除多行数据。
判断是单选还是多选删除
单行是通过 get 传参的方式向 delete.php 文件中写上对应的 ID。
而多个删除是通过 POST 的方式向 delete.php 页面中传递对应的 ID。
- 如果这两个都不符合的话,那我们可以视为数据不合法。
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论