¿Qué es la paginación?

 

¿Qué es la paginación?

La paginación es una técnica para dividir grandes conjuntos de datos en páginas más pequeñas y manejables, mejorando la experiencia del usuario y el rendimiento.

Elementos clave de esta implementación:

1. Configuración inicial

php
$por_pagina = isset($_GET['limit']) ? (int)$_GET['limit'] : 10;
$pagina_actual = isset($_GET['page']) ? (int)$_GET['page'] : 1;
  • $por_pagina: Cantidad de elementos a mostrar por página (default: 10)

  • $pagina_actual: Página que se está visualizando (default: 1)

2. Cálculo del inicio

php
$inicio = ($pagina_actual - 1) * $por_pagina;

Calcula el offset para la consulta SQL. Por ejemplo:

  • Página 1: (1-1)*10 = 0 (primeros 10 registros)

  • Página 2: (2-1)*10 = 10 (siguientes 10 registros)

3. Consulta paginada

php
SELECT * FROM solicitudes ORDER BY fecha_registro DESC LIMIT :inicio, :por_pagina

Usa LIMIT para obtener solo los registros de la página actual.

4. Cálculo del total de páginas

php
$total_paginas = ceil($total_solicitudes / $por_pagina);

Calcula cuántas páginas se necesitan para mostrar todos los registros.

5. Generación del paginador HTML

La función generarPaginador() crea:

  • Botón anterior: Deshabilitado si está en la primera página

  • Números de página: Muestra 5 páginas alrededor de la actual

  • Botón siguiente: Deshabilitado si está en la última página

6. Selector de items por página

html
<select class="form-select" id="itemsPerPage" onchange="changeItemsPerPage(this.value)">

Permite al usuario elegir cuántos elementos ver por página (5, 10, 25, 50, 100).

7. Información de contexto

php
Mostrando <?= count($solicitudes) ?> de <?= $total_solicitudes ?> solicitudes

Muestra información útil sobre qué registros se están viendo.

Flujo completo:

  1. El usuario accede a la página (o cambia los parámetros)

  2. PHP calcula qué registros debe mostrar

  3. Se ejecuta la consulta SQL con LIMIT

  4. Se genera la tabla con solo esos registros

  5. Se crean los controles de paginación

  6. El usuario puede navegar entre páginas o cambiar items por página

Ventajas de esta implementación:

  • ✅ Mejora el rendimiento (no carga todos los registros)

  • ✅ Mejora la usabilidad

  • ✅ Es responsive (usando Bootstrap)

  • ✅ Permite personalizar items por página

  • ✅ Incluye validaciones de seguridad

¿Te gustaría que profundice en algún aspecto específico de la paginación?

Comentarios

Entradas más populares de este blog

token

¿Qué es un token y cómo se utiliza en una API?

Generación de Credenciales API