Löschen mehrerer Zeilen mithilfe von Kontrollkästchen, PHP und MySQL

Wie der Titel schon sagt, möchte ich mehrere Zeilen aus meiner Datenbank löschen. Um dies zu erreichen, habe ich zwei Dateien, eine Front-End-Datei, die eine Tabelle generiert, die die Dateien anzeigt, die ein Benutzer löschen kann und die mit Hilfe von Kontrollkästchen ausgewählt wurden.

Die Back-End-Datei verarbeitet die ausgewählten Kontrollkästchen und löscht die ausgewählten Dateien mithilfe einer SQL-Anweisung.

Das Problem besteht darin, die ID einer ausgewählten Datei vom Frontend zum Backend zu übertragen. Der Code für beide Dateien ist unten:

Vorderes Ende

<code>//Build Table Query
$query="SELECT * FROM documents";
$result= mysqli_query($con, $query) or die("Invalid query");

$count = mysqli_affected_rows($con); 

?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="deletefilesback.php">
<table width="800" border="0" cellpadding="3" cellspacing="2" bgcolor="#CCCCCC">
<tr>
<td colspan="5" bgcolor="#FFFFFF" align="center"><strong>Delete Multiple         Files</strong></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Title</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Description</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>File Location</strong></td>
</tr>
<?php
while($row = mysqli_fetch_array($result)){
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox"  id="checkbox[]" value="<?php echo $rows['id']; ?>"></td>
<td bgcolor="#FFFFFF"><?php echo $row['id']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $row['title']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $row['description']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $row['doc_link']; ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit"   id="delete" value="Delete Files"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</code>

Back End

<code>$delete = $_POST['checkbox'];

//Then do what you want with the selected items://
foreach ($delete as $id) {

$query="DELETE FROM documents WHERE id = '".$id."'";
$result= mysqli_query($con, $query) or die("Invalid query");

}
//Show that the items have been successfully removed.//
if (mysqli_affected_rows($con) > 0) {
echo '<p>The selected items have been successfully deleted.</p>';
} else {
echo '<p>An error has occurred while processing your request</p>';
}
?>
</code>

Sobald dies funktioniert, verwende ich die Unlink-Funktion, um die Datei auf dem Server mithilfe des doc_link-Teils der Tabelle im Front-End zu löschen. Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage