CRUD PHP Native

Dieses Material behandelt die Implementierung grundlegender CRUD-Funktionen (Erstellen, Lesen, Aktualisieren, Löschen) unter Verwendung von nativem PHP, MySQL und Bootstrap als CSS-Framework.

Dieser Artikel ist auch in anderen Sprachen verfügbar:
19. Mai 2025
6 min read
Titelbild für CRUD PHP Native

Überblick

Dieses Material behandelt die Implementierung grundlegender CRUD-Funktionen (Create, Read, Update, Delete) unter Verwendung von nativem PHP, MySQL und Bootstrap als CSS-Framework. Die Verwendung von Bootstrap hilft dabei, responsive und ansprechende Benutzeroberflächen zu erstellen, ohne viel CSS-Code schreiben zu müssen. Dieses Praktikum zielt darauf ab, ein grundlegendes Verständnis für die Datenmanipulation in Datenbanken über eine saubere und professionelle Formularoberfläche zu vermitteln.

Lernziele

Nach Abschluss dieses Materials sollen die Studierenden in der Lage sein:

  • Die grundlegenden Konzepte von CRUD und deren Anwendung in Webanwendungen zu erklären.
  • Formularoberflächen mit Bootstrap zu erstellen.
  • PHP mit MySQL für die Eingabe, Anzeige, Bearbeitung und Löschung von Daten zu integrieren.
  • Eine grundlegende Formularvalidierung zu implementieren.
  • Eine saubere und leicht verständliche Code-Struktur zu verwenden.

Praktisches Material

Was ist CRUD?

Bevor wir tiefer darauf eingehen, wie CRUD funktioniert, schauen wir uns zunächst an, was CRUD im Kern bedeutet. Wie bereits erwähnt, steht CRUD für vier zentrale Operationen im Datenmanagement:

  • Create: Neue Daten hinzufügen
  • Read: Vorhandene Daten lesen oder anzeigen
  • Update: Vorhandene Daten aktualisieren oder ändern
  • Delete: Daten aus dem System löschen

Diese vier Operationen sind grundlegende Elemente in nahezu allen datengetriebenen Anwendungen, wie z. B. Warenwirtschaftssystemen, Finanzanwendungen und sogar sozialen Medien. Zum Beispiel führen wir in sozialen Netzwerken CRUD-Prozesse aus, wenn wir ein Konto erstellen (Create), ein Profil ansehen (Read), einen Status aktualisieren (Update) oder einen Beitrag löschen (Delete).

Blog Image

Warum ist CRUD so wichtig?

CRUD vereinfacht nicht nur die Datenverwaltung, sondern stellt auch die Datenintegrität innerhalb von Anwendungen sicher. In der Softwareentwicklung hilft das CRUD-Konzept dabei, effiziente und leicht wartbare Anwendungen zu erstellen.

Funktion jeder CRUD-Operation

Create

Mit der Create-Funktion können Benutzer neue Datensätze in eine Datenbank einfügen. Dazu gehört das Eingeben von Daten, das Erstellen neuer Zeilen in einer Tabelle und das Festlegen von Werten für die Attribute (Spalten). Zum Beispiel werden beim Erstellen eines neuen Benutzerkontos Informationen wie Name, E-Mail-Adresse und Passwort in die Datenbank gespeichert.

Read

Die Read-Funktion ermöglicht es Benutzern, vorhandene Daten aus der Datenbank abzurufen oder darauf zuzugreifen. Dies geschieht beispielsweise beim Anzeigen von Datensätzen oder beim Suchen nach bestimmten Informationen. Beim Login greift die Anwendung beispielsweise auf die Benutzerdaten zu und zeigt diese an.

Update

Mit der Update-Funktion können vorhandene Daten geändert oder aktualisiert werden. Wenn ein Benutzer beispielsweise seine E-Mail-Adresse oder Profilinformationen ändern möchte, wird ein Update-Vorgang ausgeführt.

Delete

Die Delete-Funktion ermöglicht das Entfernen von Daten aus der Datenbank. Wenn ein Benutzer beispielsweise sein Konto löscht, wird dieser Datensatz aus der Datenbank entfernt.

Wie funktioniert CRUD?

Nachdem Sie verstanden haben, was CRUD ist, besteht der nächste Schritt darin, zu verstehen, wie es funktioniert. Jede Anwendung, die CRUD verwendet, verfügt über Funktionen oder Methoden zur Unterstützung dieser vier Operationen. Die Funktionsweise hängt häufig von der verwendeten Programmiersprache oder dem Framework ab.

In PHP kann CRUD beispielsweise über eine MySQL-Datenbankverbindung mithilfe grundlegender SQL-Abfragen implementiert werden. Dazu gehören das Hinzufügen, Lesen, Aktualisieren und Löschen von Daten.

Einfacher Ablauf von CRUD:

  • Create: Benutzer geben neue Daten ein
  • Read: Daten werden angezeigt
  • Update: Daten werden geändert
  • Delete: Daten werden gelöscht

Praktische Schritte

Die folgenden Schritte zeigen, wie man CRUD mit nativem PHP erstellt:

1. Datenbank vorbereiten

CREATE TABLE mahasiswa (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    nim VARCHAR(20)
);

2. Datenbankverbindung herstellen (connection/db.php)

<?php

$host = "localhost";
$user = "root";
$pass = "";
$db = "Latihan_login_db ";

$conn = mysqli_connect($host, $user, $pass, $db);

if (!$conn) {
    die("Koneksi gagal: " . mysqli_connect_error());

}

3. Daten anzeigen (index.php)

<?php include "koneksi/db.php"; ?>

<!DOCTYPE html>

<html lang="en">

<head>

  <title>Data Mahasiswa</title>

  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">

</head>

<body class="container mt-5">

  <h2>Data Mahasiswa</h2>

  <a href="tambah.php" class="btn btn-primary mb-3">+ Tambah Mahasiswa</a>

  <table class="table table-bordered">

    <thead class="table-dark">

      <tr><th>No</th><th>Nama</th><th>NIM</th><th>Aksi</th></tr>

    </thead>

    <tbody>

      <?php

      $no = 1;

      $result = mysqli_query($conn, "SELECT \* FROM mahasiswa");

      while ($row = mysql_fetc_assoc($result)) {

        echo "<tr>

                <td>$no</td>

                <td>{$row['nama']}</td>

                <td>{$row['nim']}</td>

                <td>

                  <a href='edit.php?id={$row['id']}' class='btn btn-warning btn-sm'>Edit</a>

                  <a href='hapus.php?id={$row['id']}' class='btn btn-danger btn-sm' onclick='return confirm("Hapus data ini?")'>Hapus</a>

                </td>

              </tr>";

        $no++;

      }

      ?>

    </tbody>

  </table>

</body>

</html>

Im nächsten Schritt wird eine Hauptseite (index.php) erstellt, die alle Studentendaten aus der Datenbank anzeigt. Hier wird die Abfrage SELECT * FROM student verwendet, um alle Daten abzurufen. Die Ergebnisse werden anschließend in einer HTML-Tabelle dargestellt, die mit Bootstrap gestaltet ist.

Jede Datenzeile enthält die Schaltflächen „Bearbeiten“ und „Löschen“, die zu den Seiten edit.php bzw. delete.php führen und die ID als Parameter übergeben. Diese Seite repräsentiert die Read-Operation.

Blog Image

4. Daten hinzufügen (add.php)

<?php include "koneksi/db.php"; ?>

<!DOCTYPE html>

<html lang="en">

<head>

  <title>Tambah Mahasiswa</title>

  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">

</head>

<body class="container mt-5">

  <h2>Tambah Data Mahasiswa</h2>

  <form method="POST">

    <div class="mb-3">

      <label>Nama</label>

      <input type="text" name="nama" class="form-control" required>

    </div>

    <div class="mb-3">

      <label>NIM</label>

      <input type="text" name="nim" class="form-control" required>

    </div>

    <button type="submit" name="simpan" class="btn btn-success">Simpan</button>

    <a href="index.php" class="btn btn-secondary">Kembali</a>

  </form>

  <?php

  if (isset($_POST['simpan'])) {

      $nama = $_POST['nama'];

      $nim = $_POS['nim'];

      mysqli\_query($conn, "INSERT INTO mahasiswa (nama, nim) VALUES ('$nama', '$nim')");

      echo "<div class='alert alert-success mt-3'>Data berhasil disimpan.</div>

      <script>

      alert('Data Berhasil Ditambah')

      window.location.href = 'index.php'

      </script>

      ";

  }

  ?>

</body>

</html>

Zum Hinzufügen neuer Daten wird eine Seite add.php erstellt, die ein Formular mit zwei Eingabefeldern enthält: Name und Matrikelnummer.

Beim Absenden des Formulars verarbeitet PHP die Eingaben über die POST-Methode. Die Daten werden anschließend mit der SQL-Anweisung
INSERT INTO student (name, matrikelnummer) VALUES (...) gespeichert.

Bei Erfolg wird eine Bestätigung angezeigt. Dies ist die Implementierung der Create-Funktion.

Blog Image

5. Daten bearbeiten (edit.php)

<?php

include "koneksi/db.php";

$id = $_GET['id'];

$data = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM mahasiswa WHERE id=$id"));

?>

<!DOCTYPE _html_>

<html _lang_="en">

<head>

  <title>Edit Mahasiswa</title>

  <link _href_="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" _rel_="stylesheet">

</head>

<body _class_="container mt-5">

  <h2>Edit Data Mahasiswa</h2>

  <form _method_="POST">

    <div _class_="mb-3">

      <label>Nama</label>

      <input _type_="text" _name_="nama" _class_="form-control" _value_="<?= $data['nama'] ?>" _required_>

    </div>

    <div _class_="mb-3">

      <label>NIM</label>

      <input _type_="text" _name_="nim" _class_="form-control" _value_="<?= $data['nim'] ?>" _required_>

    </div>

    <button type="submit" name="update" class="btn btn-warning">Update</button>

    <a _href_="index.php" _class_="btn btn-secondary">Kembali</a>

  </form>

  <?php

  if (isset($_POST['update'])) {

      $nama = $_POST['nama'];

      $nim  = $_POST['nim'];

      mysqli_query($conn, "UPDATE mahasiswa SET nama='$nama', nim='$nim' WHERE id=$id");

      echo "<div class='alert alert-success mt-3'>Data berhasil diupdate.</div>";

  }

  ?>

</body>

</html>

Die Seite edit.php ermöglicht es Benutzern, vorhandene Daten zu ändern. Beim Klick auf die Schaltfläche „Bearbeiten“ wird die ID des Datensatzes über die URL übergeben.

Basierend auf dieser ID ruft PHP die bestehenden Daten ab und zeigt sie im Formular an. Nach der Änderung speichert die Anwendung die Daten mit einer UPDATE-Abfrage.

Dies stellt die Update-Funktion dar.

Blog Image

6. Daten löschen (delete.php)

Der letzte Schritt ist das Löschen von Daten. Beim Klick auf „Löschen“ wird der Benutzer zur Seite delete.php weitergeleitet, die die ID enthält.

PHP führt dann die Abfrage
DELETE FROM student WHERE id=... aus, um den Datensatz zu entfernen.

Nach erfolgreichem Löschen wird der Benutzer zurück zur index.php-Seite geleitet. Dies ist die Delete-Funktion.

Blog Image
Blog Image

Here is a playlist reference for learning CRUD PHP Native (In Bahasa)

Referenzen

PHP and MySQL Tutorial: Creating a CRUD Application [New Student Registration Case Study]

What Is CRUD? Definition and Function of CRUD in Web Applications - CODEPOLITAN

What is CRUD? Meaning, Function, Examples, FAQs 2025 | RevoU