MySQL 테이블에서 레코드를 제거하기 위해 PHP 양식에 삭제 버튼을 구현하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-27 21:30:30
원래의
729명이 탐색했습니다.

How to Implement a Delete Button in a PHP Form to Remove Records from a MySQL Table?

삭제 버튼을 PHP 양식에 통합하여 MySQL 테이블에서 레코드를 제거하는 방법

문제:

MySQL 테이블로 채워진 HTML 테이블에 "삭제" 옵션을 추가해 달라는 요청이 실패했습니다. 목표는 양식 제출을 트리거하고 데이터베이스에서 해당 행을 제거하는 기능적 삭제 링크를 생성하는 것입니다.

코드 스냅샷:

results.php :

<code class="php">// Fetch data from the database
$contacts = mysql_query("SELECT * FROM contacts ORDER BY ID ASC") or die(mysql_error());

// If results exist, display the table
if (mysql_num_rows($contacts) > 0) {
    // Table markup
    echo '<table id="contact-list">';

    // Table head
    echo '<thead><tr><th>Name</th><th>Email</th><th>Telephone</th><th>Address</th><th>Delete</th></tr></thead>';

    // Table body
    while ($contact = mysql_fetch_array($contacts)) {
        echo '<tr>';
        echo '<td>' . $contact['name'] . '</td>';
        echo '<td>' . $contact['email'] . '</td>';
        echo '<td>' . $contact['telephone'] . '</td>';
        echo '<td>' . $contact['address'] . '</td>';

        // Delete form
        echo '<td><form action="delete.php" method="post">';
        echo '<input type="hidden" name="name" value="">';
        echo '<input type="submit" name="submit" value="Delete">';
        echo '</form></td>';

        echo '</tr>';
    }

    // Table foot
    echo '</table>';
}</code>
로그인 후 복사

delete.php:

<code class="php">// Define the deletion query
$query = "DELETE FROM contacts WHERE name={$_POST['name']} LIMIT 1";

// Execute the query
mysql_query($query);

// Display a success or failure message based on the number of affected rows
if (mysql_affected_rows() == 1) {
    echo '<strong>Contact Has Been Deleted</strong><br /><br />';
} else {
    echo '<strong>Deletion Failed</strong><br /><br />';
}</code>
로그인 후 복사

해결책:

문제는 다음에 있습니다. 기본 키 값(이 경우 이름)을 delete.php 스크립트에 전달합니다. 이를 수정하려면 삭제 링크에 숨겨진 필드를 통해 또는 URL 매개변수로 이름 값을 포함해야 합니다.

업데이트된 코드:

<code class="php">// Within the table body loop in results.php

echo '<td><form action="delete.php?name=' . $contact['name'] . '" method="post">';</code>
로그인 후 복사

위 내용은 MySQL 테이블에서 레코드를 제거하기 위해 PHP 양식에 삭제 버튼을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!