Heim >Datenbank >MySQL-Tutorial >Wie implementiert man eine Schaltfläche „Löschen' in einem PHP-Formular, um Datensätze aus einer MySQL-Tabelle zu entfernen?
So integrieren Sie eine Löschschaltfläche in ein PHP-Formular, um Datensätze aus einer MySQL-Tabelle zu entfernen
Problem:
Eine Anfrage zum Hinzufügen einer „Löschen“-Option zu einer HTML-Tabelle, die mit einer MySQL-Tabelle gefüllt ist, hat sich als erfolglos erwiesen. Das Ziel besteht darin, einen funktionalen Löschlink zu erstellen, der eine Formularübermittlung auslöst und die entsprechende Zeile aus der Datenbank entfernt.
Code-Snapshot:
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>
Lösung:
Das Problem liegt in Übergabe des Primärschlüsselwerts (in diesem Fall des Namens) an das Skript delete.php. Um dies zu beheben, muss der Löschlink den Namenswert entweder über ein ausgeblendetes Feld oder als URL-Parameter enthalten.
Aktualisierter Code:
<code class="php">// Within the table body loop in results.php echo '<td><form action="delete.php?name=' . $contact['name'] . '" method="post">';</code>
Das obige ist der detaillierte Inhalt vonWie implementiert man eine Schaltfläche „Löschen' in einem PHP-Formular, um Datensätze aus einer MySQL-Tabelle zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!