단일 선택 또는 다중 선택 삭제할지 결정
1. get 매개변수를 통해 delete.php 파일에 한 줄이 기록됩니다. 해당 아이디입니다.
2. 다중 삭제의 경우 POST를 통해 해당 ID가 delete.php 페이지로 전달됩니다.
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 하위 문을 사용하여 효과를 얻을 수 있습니다.
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 '删除失败'; }