Löschen mehrerer Zeilen mithilfe von Kontrollkästchen in PHP
Ein Benutzer ist auf ein Problem gestoßen, als er versuchte, mehrere Zeilen aus einer MySQL-Datenbanktabelle mithilfe von Kontrollkästchen zu löschen . Der bereitgestellte PHP-Code führt den Löschvorgang nicht aus, obwohl die Daten in die Tabelle eingetragen sind.
Um dieses Problem zu beheben, sollte der PHP-Code wie folgt geändert werden:
<input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>" />
Von Bei Verwendung der []-Syntax im Namensattribut werden die Kontrollkästchenwerte als Array behandelt, sodass wir sie beim Löschen durchlaufen können verarbeiten.
Zusätzlich sollte die Datenbankverbindung wie folgt an die Abfrage übergeben werden:
$result = mysqli_query($dbc, $sql);
Dadurch wird sichergestellt, dass die Abfrage über die hergestellte Datenbankverbindung ausgeführt wird.
Hier ist der aktualisierte PHP-Code:
... while ($row = mysqli_fetch_array($result)) { ...... // Check if delete button active, start this if (isset($_POST['delete'])) { $checkbox = $_POST['checkbox']; for ($i = 0; $i < count($checkbox); $i++) { $del_id = $checkbox[$i]; $sql = "DELETE FROM links WHERE link_id='$del_id'"; $result = mysqli_query($dbc, $sql); } ... <input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>" /> ...
Mit diesen Änderungen wird die Checkbox-Variable ein Array ausgewählter Link-IDs sein, die dann sein können iteriert, um die Löschabfragen auszuführen.
Das obige ist der detaillierte Inhalt vonWie lösche ich mehrere MySQL-Zeilen mithilfe von Kontrollkästchen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!