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

[Bildschirmfoto] 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. Natürlich könnten damit auch Datensätze bearbeitet (UPDATE) werden.

Quelltext:  AusblendenKopierenLinkZeilen

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
48
49
50
51
52
<?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?>

    <p>
      <button type="submit">Absenden</button>
    </p>

  </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

Seiten dynamisch mit PHP erstellen
Vielleicht kennen Sie dieses Problem: Sie möchten gerne eine Seite ohne Frames erstellen, wollen aber auch nicht bei jeder Änderung an der Navigation alle Seiten ändern. Nur mit HTML gibt es hier keine Lösung und nicht jeder Benutzer hat JavaScript im Browser aktiviert, stattdessen sollten Sie auf PHP zurückgreifen.
Bilder mit Wasserzeichen markieren
JPEG-Bilder (oder andere Grafikformate) können mit einem transparenten Wasserzeichen markiert werden; Mit Hilfe eines kleinen PHP-Scripts.
Zeitbalken
Dieses Script zeigt die vergangene Zeit mit einem farbigen Fortschrittsbalken an. Mit JavaScript oder PHP kann man die vergangene Zeit berechnen lassen und mit CSS wird dann der Fortschrittsbalken farbig angezeigt.
SQLite-Datei mit PHP und PDO erstellen
Der Vorteil von SQLite ist, das die Datenbank eine Text-Datei ist und keine Verbindung zu einem Datenbank-Server benötigt wird.

Abonniere meinen RSS-Feed um über aktuelle Seiten benachrichtigt zu werden.