Löschen von mehreren Einträgen aus einer DB-Tabelle

Mit den Checkboxen mehrere Einträge auswählen um diese dann von der DB-Tabelle zu löschen — Hier ein Beispiel mit PDO.

[Bildschirmfoto / Grafik]
 Löschen von mehreren Einträgen aus einer DB-Tabelle

QuelltextAusblendenKopierenZeilen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
// Löschen von mehreren Einträgen aus einer Datenbank

// Verbindung zur Datenbank
$db = new PDO('mysql:host=localhost;dbname=test;charset=utf8''root''');
$output '';

// Löschen
if (isset($_POST["id"])) {
 
$params $_POST["id"];
 
$placeholder implode(','array_fill(0count($params), '?'));

 
$stmt $db->prepare("DELETE FROM fruits WHERE id IN (" $placeholder ")");
 if (
$stmt->execute($params)) {
  
$output '<p>Die Daten wurden gelöscht.</p>';
 }
}

// Ausgabe
$stmt $db->query("SELECT id, fruit FROM fruits");
$results $stmt->fetchAll();

foreach (
$results as $result) {
 
$output .= '<label><input type="checkbox" name="id[]" value="' $result["id"] . '"> ' .
  
$result["fruit"] . '</label><br>';
}
?>

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Löschen</title>
 </head>
<body>

<h3>Löschen</h3>

<form method="post">

 <?=$output;?>

 <input type="submit">
</form>

</body>
</html>

Folgende DB-Tabelle wurde im Anwendungsbeispiel verwendet:

CREATE TABLE `fruits` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `fruit` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
 `price` float NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `fruits` (`id`, `fruit`, `price`) VALUES
(1, 'Apfel', 0.79),
(2, 'Birne', 1.22),
(3, 'Banane', 0.56),
(4, 'Melone', 3.74),
(5, 'Orange', 1.22),
(6, 'Ananas', 2.54),
(7, 'Kiwi', 0.45);

Siehe auch: Checkbox (Mehrfachauswahl) und DB-Ausgabe

Tipps

Lokalen Webserver einrichten und verwenden
Um PHP-Scripte auszuführen benötigt man einen Webserver. Um nun nicht jede Datei zum testen erst per FTP auf seinen Webserver zu laden ist es sinnvoll, sich lokal auf dem Rechner einen sog. lokalen Webserver zu installieren.
Sitemaps-Protokoll für Suchmaschinen automatisch erstellen
Sorgen Sie dafür, dass die Nutzer auf einen größeren Teil Ihrer Website aufmerksam werden mit einem „Sitemaps-Protokoll”. Dies stellt eine einfache Möglichkeit für Webmaster dar, Suchmaschinen Seiten auf Ihrer Website zu melden, die zum durchsuchen verfügbar sind.
Browser-Sprachumschaltung
Diese Sprachumschaltung zeigt je nach der verwendeten Sprache (deutsch, englisch, ...) im Browser unterschiedlichen Inhalt an.