obtenerSolicitudesPaginadas

 

Función: obtenerSolicitudesPaginadas()

Propósito: Obtener registros de una tabla de forma paginada para mostrar por lotes.

Parámetros:

  • $pdo: Objeto de conexión a la base de datos (PDO)

  • $inicio: Punto de partida para la consulta (offset)

  • $por_pagina: Cantidad de registros a mostrar por página

Explicación detallada:

  1. Preparación de la consulta SQL:

    php
    $stmt = $pdo->prepare("SELECT * FROM solicitudes ORDER BY fecha_registro DESC LIMIT :inicio, :por_pagina");
    • Selecciona todos los campos de la tabla solicitudes

    • Ordena por fecha_registro de forma descendente (más recientes primero)

    • Usa LIMIT para paginación con parámetros nombrados

  2. Binding de parámetros:

    php
    $stmt->bindValue(':inicio', $inicio, PDO::PARAM_INT);
    $stmt->bindValue(':por_pagina', $por_pagina, PDO::PARAM_INT);
    • Asigna valores a los parámetros de forma segura

    • PDO::PARAM_INT especifica que son números enteros

  3. Ejecución y retorno:

    php
    $stmt->execute();
    return $stmt->fetchAll();
    • Ejecuta la consulta

    • Retorna todos los resultados como array asociativo

Ejemplo de uso:

php
// Página 2, mostrando 10 registros por página
$pagina_actual = 2;
$registros_por_pagina = 10;
$inicio = ($pagina_actual - 1) * $registros_por_pagina;

$solicitudes = obtenerSolicitudesPaginadas($pdo, $inicio, $registros_por_pagina);

Ventajas:

  • Prevención de inyección SQL mediante parámetros preparados

  • Código reutilizable para paginación

  • Ordenamiento consistente de resultados

  • Tipo de datos adecuado para parámetros numéricos


Función obtenerSolicitudesPaginadas()

Propósito:

Obtener un conjunto limitado de registros de la tabla solicitudes para implementar paginación.

Parámetros:

  • $pdo: Objeto de conexión a la base de datos (PDO)

  • $inicio: Número del registro desde donde comenzar

  • $por_pagina: Cantidad de registros a mostrar por página

Explicación del código SQL:

sql
SELECT * FROM solicitudes 
ORDER BY fecha_registro DESC 
LIMIT :inicio, :por_pagina
  • ORDER BY fecha_registro DESC: Ordena los registros por fecha de registro, mostrando los más recientes primero

  • LIMIT :inicio, :por_pagina: Limita los resultados comenzando desde :inicio y tomando :por_pagina registros

Seguridad con PDO:

  • prepare(): Prepara la consulta para prevenir inyecciones SQL

  • bindValue(): Asigna valores de forma segura a los parámetros

  • PDO::PARAM_INT: Especifica que los parámetros son números enteros

Ejemplo de uso:

php
// Para la página 2 con 10 registros por página
$pagina_actual = 2;
$registros_por_pagina = 10;
$inicio = ($pagina_actual - 1) * $registros_por_pagina;

$solicitudes = obtenerSolicitudesPaginadas($pdo, $inicio, $registros_por_pagina);

Esta función es esencial para implementar paginación eficiente en aplicaciones web que manejan grandes cantidades de datos.

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