W3docs

Base de données AJAX

Apprenez à utiliser PHP, AJAX et les bases de données pour créer des pages web dynamiques qui se mettent à jour sans rechargement.

Introduction

Dans cet article, nous allons explorer comment utiliser PHP, AJAX et les bases de données pour créer des pages web dynamiques qui améliorent l'expérience utilisateur et l'engagement.

Qu'est-ce que PHP ?

PHP est un langage de script côté serveur utilisé pour développer des applications web. PHP est facile à apprendre et compatible avec divers systèmes d'exploitation tels que Linux, macOS et Windows. PHP couvre un large éventail d'applications, du développement de pages web à la création d'applications de bureau autonomes.

Qu'est-ce qu'AJAX ?

AJAX est une technique utilisée en développement web qui permet de mettre à jour des pages web de manière asynchrone sans avoir besoin de recharger l'intégralité de la page. AJAX permet de créer des pages web dynamiques capables de répondre aux entrées utilisateur en temps réel.

Qu'est-ce qu'une base de données ?

Une base de données est une collection structurée de données qui peuvent être consultées, gérées et mises à jour. Les bases de données sont utilisées en développement web pour stocker des données pouvant être interrogées et manipulées afin de fournir du contenu dynamique aux utilisateurs.

Utiliser PHP, AJAX et les bases de données pour créer des pages web dynamiques

PHP, AJAX et les bases de données peuvent être utilisés ensemble pour créer des pages web dynamiques offrant une expérience utilisateur enrichie. Pour y parvenir, vous devez suivre les étapes suivantes :

  1. Établir une connexion à la base de données avec PHP
  2. Récupérer des données depuis la base de données avec PHP
  3. Créer un script côté serveur pour gérer la requête AJAX
  4. Utiliser AJAX pour mettre à jour la page web avec les données récupérées

Établir une connexion à la base de données

Pour établir une connexion à la base de données, vous devez utiliser le constructeur de la classe mysqli de PHP. Ce constructeur prend en arguments le nom d'hôte de la base de données, le nom d'utilisateur, le mot de passe et le nom de la base de données. Une fois la connexion établie, vous pouvez exécuter des requêtes SQL pour manipuler les données de la base de données. Pour des raisons de sécurité, validez et assainissez toujours les entrées utilisateur.

$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

Récupérer des données depuis la base de données

Pour récupérer des données depuis la base de données, vous devez utiliser des requêtes SQL. Les requêtes SQL peuvent être exécutées à l'aide de la méthode $conn->query() en PHP. Le résultat de la requête est retourné sous forme d'un ensemble de résultats sur lequel il est possible d'itérer pour récupérer les lignes de données individuelles.

$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>";
}

Créer le gestionnaire côté serveur (connect.php)

La requête AJAX dans le code côté client appelle connect.php. Ce fichier doit regrouper la connexion à la base de données, l'exécution de la requête et la logique de sortie dans un seul script fonctionnel. Il gère également les erreurs potentielles de manière appropriée.

<?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();
?>

Utiliser AJAX pour mettre à jour la page web

Une fois les données récupérées depuis la base de données, vous pouvez utiliser AJAX pour mettre à jour la page web avec ces données. AJAX vous permet de mettre à jour une portion de la page web sans avoir à recharger l'intégralité de la page. Pour y parvenir, vous devez créer un objet XMLHttpRequest en JavaScript et envoyer une requête à un script côté serveur (par exemple, connect.php). Une fois que le serveur renvoie la réponse, vous pouvez mettre à jour la page web avec les données récupérées.

<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();
}

Conclusion

PHP, AJAX et les bases de données fonctionnent ensemble pour créer des applications web dynamiques et interactives. En suivant les étapes ci-dessus, vous pouvez construire des pages réactives qui mettent à jour le contenu sans rechargement.

Pratique

Pratique
À quoi sert AJAX en PHP ?
À quoi sert AJAX en PHP ?
Was this page helpful?