W3docs

AJAX-Datenbank

Erfahren Sie, wie PHP, AJAX und Datenbanken zusammenarbeiten, um dynamische Webseiten zu erstellen, die Inhalte ohne Seitenneuladen aktualisieren.

Einführung

In diesem Artikel untersuchen wir, wie PHP, AJAX und Datenbanken gemeinsam eingesetzt werden können, um dynamische Webseiten zu erstellen, die die Benutzererfahrung und das Engagement verbessern.

Was ist PHP?

PHP ist eine serverseitige Skriptsprache, die zur Entwicklung von Webanwendungen eingesetzt wird. PHP ist leicht zu erlernen und mit verschiedenen Betriebssystemen wie Linux, macOS und Windows kompatibel. PHP hat ein breites Anwendungsspektrum – von der Entwicklung von Webseiten bis hin zur Erstellung eigenständiger Desktop-Anwendungen.

Was ist AJAX?

AJAX ist eine Technik in der Webentwicklung, die es ermöglicht, Webseiten asynchron zu aktualisieren, ohne die gesamte Seite neu laden zu müssen. AJAX ermöglicht die Erstellung dynamischer Webseiten, die in Echtzeit auf Benutzereingaben reagieren können.

Was ist eine Datenbank?

Eine Datenbank ist eine strukturierte Sammlung von Daten, auf die zugegriffen, die verwaltet und aktualisiert werden kann. Datenbanken werden in der Webentwicklung verwendet, um Daten zu speichern, die abgefragt und bearbeitet werden können, um Benutzern dynamische Inhalte bereitzustellen.

Verwendung von PHP, AJAX und Datenbanken zum Erstellen dynamischer Webseiten

PHP, AJAX und Datenbanken können gemeinsam genutzt werden, um dynamische Webseiten zu erstellen, die ein umfangreiches Benutzererlebnis bieten. Um dies zu erreichen, müssen folgende Schritte durchgeführt werden:

  1. Eine Verbindung zur Datenbank mit PHP herstellen
  2. Daten aus der Datenbank mit PHP abrufen
  3. Ein serverseitiges Skript zur Verarbeitung der AJAX-Anfrage erstellen
  4. AJAX verwenden, um die Webseite mit den abgerufenen Daten zu aktualisieren

Eine Verbindung zur Datenbank herstellen

Um eine Verbindung zur Datenbank herzustellen, muss der mysqli-Klassenkonstruktor von PHP verwendet werden. Diesem Konstruktor werden der Hostname der Datenbank, Benutzername, Passwort und Datenbankname als Argumente übergeben. Sobald die Verbindung hergestellt ist, können SQL-Abfragen ausgeführt werden, um die Daten in der Datenbank zu bearbeiten. Aus Sicherheitsgründen sollten Benutzereingaben stets validiert und bereinigt werden.

$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
sequenceDiagram
    participant User
    participant Browser
    participant WebServer
    participant PHPHandler
    participant Database
    User->>Browser: Triggers Ajax event
    Browser->>WebServer: Sends asynchronous request
    WebServer->>PHPHandler: Routes to connect.php
    PHPHandler->>Database: Executes query
    Database->>PHPHandler: Returns result set
    PHPHandler->>Browser: Sends response
    Browser->>User: Updates DOM dynamically

Daten aus der Datenbank abrufen

Um Daten aus der Datenbank abzurufen, müssen SQL-Abfragen verwendet werden. SQL-Abfragen können in PHP mit der Methode $conn->query() ausgeführt werden. Das Ergebnis der Abfrage wird als Ergebnismenge zurückgegeben, die durchlaufen werden kann, um die einzelnen Datenzeilen abzurufen.

$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if (!$result) {
    die("Query failed: " . $conn->error);
}
while ($row = $result->fetch_assoc()) {
    echo $row["name"] . "<br>";
}

Den serverseitigen Handler erstellen (connect.php)

Die AJAX-Anfrage im clientseitigen Code ruft connect.php auf. Diese Datei sollte die Datenbankverbindung, die Abfrageausführung und die Ausgabelogik in einem einzigen funktionsfähigen Skript kombinieren. Außerdem behandelt sie mögliche Fehler auf geeignete Weise.

<?php
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);

if ($result) {
    while ($row = $result->fetch_assoc()) {
        echo $row["name"] . "<br>";
    }
} else {
    echo "Error: " . $conn->error;
}
$conn->close();
?>

AJAX verwenden, um die Webseite zu aktualisieren

Nachdem die Daten aus der Datenbank abgerufen wurden, kann AJAX verwendet werden, um die Webseite mit den abgerufenen Daten zu aktualisieren. AJAX ermöglicht es, einen Teil der Webseite zu aktualisieren, ohne die gesamte Seite neu laden zu müssen. Dazu muss ein XMLHttpRequest-Objekt in JavaScript erstellt und eine Anfrage an ein serverseitiges Skript (z. B. connect.php) gesendet werden. Sobald der Server die Antwort zurücksendet, kann die Webseite mit den abgerufenen Daten aktualisiert werden.

<div id="data-container">Loading...</div>
<button onclick="loadData()">Load Data</button>
function loadData() {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', 'connect.php', true);
    xhr.onload = function() {
        if (xhr.status === 200) {
            document.getElementById('data-container').innerHTML = xhr.responseText;
        } else {
            document.getElementById('data-container').innerHTML = 'Error loading data.';
        }
    };
    xhr.onerror = function() {
        document.getElementById('data-container').innerHTML = 'Network error.';
    };
    xhr.send();
}

Fazit

PHP, AJAX und Datenbanken arbeiten zusammen, um dynamische, interaktive Webanwendungen zu erstellen. Durch Befolgen der obigen Schritte können responsiven Seiten erstellt werden, die Inhalte aktualisieren, ohne die Seite neu zu laden.

Übungen

Übung
Wofür wird AJAX in PHP verwendet?
Wofür wird AJAX in PHP verwendet?
Was this page helpful?