W3docs

Base de datos AJAX

Aprende a usar PHP, AJAX y bases de datos para crear páginas web dinámicas que actualizan el contenido sin recargar la página.

Introducción

En este artículo exploraremos cómo usar PHP, AJAX y bases de datos para crear páginas web dinámicas que mejoren la experiencia y el compromiso del usuario.

¿Qué es PHP?

PHP es un lenguaje de scripting del lado del servidor que se utiliza para desarrollar aplicaciones web. PHP es fácil de aprender y es compatible con varios sistemas operativos como Linux, macOS y Windows. PHP tiene una amplia gama de aplicaciones, desde el desarrollo de páginas web hasta la creación de aplicaciones de escritorio independientes.

¿Qué es AJAX?

AJAX es una técnica utilizada en el desarrollo web que permite que las páginas web se actualicen de forma asíncrona sin necesidad de recargar la página completa. AJAX permite la creación de páginas web dinámicas que pueden responder a las acciones del usuario en tiempo real.

¿Qué es una base de datos?

Una base de datos es una colección estructurada de datos a la que se puede acceder, gestionar y actualizar. Las bases de datos se usan en el desarrollo web para almacenar datos que pueden consultarse y manipularse para ofrecer contenido dinámico a los usuarios.

Uso de PHP, AJAX y bases de datos para crear páginas web dinámicas

PHP, AJAX y las bases de datos pueden usarse juntos para crear páginas web dinámicas que ofrezcan una experiencia de usuario enriquecida. Para lograrlo, debes seguir los siguientes pasos:

  1. Establecer una conexión con la base de datos usando PHP
  2. Recuperar datos de la base de datos usando PHP
  3. Crear un script del lado del servidor para gestionar la solicitud AJAX
  4. Usar AJAX para actualizar la página web con los datos recuperados

Establecer una conexión con la base de datos

Para establecer una conexión con la base de datos, debes usar el constructor de la clase mysqli de PHP. Este constructor recibe como argumentos el nombre del host de la base de datos, el nombre de usuario, la contraseña y el nombre de la base de datos. Una vez establecida la conexión, puedes ejecutar consultas SQL para manipular los datos en la base de datos. Por seguridad, valida y sanea siempre la entrada del usuario.

$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

Recuperar datos de la base de datos

Para recuperar datos de la base de datos, debes usar consultas SQL. Las consultas SQL pueden ejecutarse usando el método $conn->query() en PHP. El resultado de la consulta se devuelve como un conjunto de resultados que puede iterarse para recuperar las filas de datos individuales.

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

Crear el manejador del lado del servidor (connect.php)

La solicitud AJAX en el código del lado del cliente llama a connect.php. Este archivo debe combinar la conexión a la base de datos, la ejecución de consultas y la lógica de salida en un único script funcional. También gestiona los posibles errores de forma elegante.

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

Usar AJAX para actualizar la página web

Una vez que hayas recuperado los datos de la base de datos, puedes usar AJAX para actualizar la página web con los datos obtenidos. AJAX te permite actualizar una parte de la página web sin tener que recargarla por completo. Para lograrlo, debes crear un objeto XMLHttpRequest en JavaScript y enviar una solicitud a un script del lado del servidor (p. ej., connect.php). Una vez que el servidor envíe la respuesta, puedes actualizar la página web con los datos recuperados.

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

Conclusión

PHP, AJAX y las bases de datos trabajan juntos para crear aplicaciones web dinámicas e interactivas. Siguiendo los pasos anteriores, puedes construir páginas responsivas que actualicen el contenido sin recargar la página.

Práctica

Práctica
¿Para qué se usa AJAX en PHP?
¿Para qué se usa AJAX en PHP?
Was this page helpful?