"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP에서 체크박스를 사용하여 여러 데이터베이스 행을 올바르게 삭제하는 방법은 무엇입니까?

PHP에서 체크박스를 사용하여 여러 데이터베이스 행을 올바르게 삭제하는 방법은 무엇입니까?

2024년 11월 19일에 게시됨
검색:721

How to Properly Delete Multiple Database Rows Using Checkboxes in PHP?

PHP에서 체크박스를 사용하여 공동으로 데이터베이스 행 삭제

MySQL 기반에서 여러 행을 제거하는 작업에 직면하여 코딩 지혜의 깊이에 대한 깨달음을 구했습니다. . 이 데이터 정리 노력을 시작하는 동안 극복할 수 없는 장애물에 부딪힌 것 같습니다.

당신이 작성한 코드는 의도는 분명했지만 행 소멸이라는 의도된 목적을 실행하지 못했습니다. 이 장애물을 극복하기로 결심하고 존경받는 코딩 커뮤니티에 코드를 제시하여 지침을 구합니다.

// PHP witchcraft to connect to MySQL
$dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('MySQL is out to get you!');
$query = "select * from links ORDER BY link_id";
$result = mysqli_query($dbc, $query) or die('Whoops! Query went awry!');
$count = mysqli_num_rows($result);
// Assemble your army of checkboxes
while ($row = mysqli_fetch_array($result)) {
    echo 
    
    $row[link_id]
    $row[link_name]
    $row[link_url]

HTML;
}
// The arsenal of deletion awaits your command
if (isset($_POST['delete'])) {
    // Retrieve your checked victims
    $checkbox = $_POST['checkbox'];

    // Summon the wrath of deletion upon each victim
    foreach ($checkbox as $del_id) {
        $sql = "DELETE FROM links WHERE link_id='$del_id'";
        // Unleash the purging power!
        $result = mysqli_query($dbc, $sql);
    }

    // If successful, redirect to the crime scene
    if ($result) {
        echo '';
    }
}

현자의 솔루션

아아, 몇 가지 중요한 실수로 인해 코드가 불안정해졌습니다.

  1. 배열 또는 단일: 확인란 입력 태그에는 배열로 처리하기 위한 [] 접미사가 없습니다. 이것이 없으면 PHP는 다중 선택을 올바르게 인식하지 못합니다. name="checkbox[]"를 사용하세요.
  2. Database Summoning: 쿼리 실행 줄에 연결 변수가 없습니다. $result = mysqli_query($dbc, $sql);.

이러한 수정을 통해 코드는 디지털 마법사처럼 행을 추방합니다. 새로운 자신감을 가지고 데이터 정리 퀘스트를 시작하세요!

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3