PHP 데이터베이스 작업: ...LOGIN

PHP 데이터베이스 작업: 사용자 일괄 및 특정 삭제

섹션 13.3 "단계를 통해 목록 표시 만들기"에 있습니다. 삭제 전에는 단일 행의 데이터 삭제와 여러 행의 데이터 삭제가 있습니다.

단일 선택 또는 다중 선택 삭제할지 결정

1. 다음을 통해 delete.php 파일에 한 줄이 전달됩니다. 매개변수를 가져옵니다. 해당 ID를 에 작성합니다.

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


다음 섹션
<?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 '删除失败'; } ?>
코스웨어