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:
Preparación de la consulta SQL:
$stmt = $pdo->prepare("SELECT * FROM solicitudes ORDER BY fecha_registro DESC LIMIT :inicio, :por_pagina");Selecciona todos los campos de la tabla
solicitudesOrdena por
fecha_registrode forma descendente (más recientes primero)Usa
LIMITpara paginación con parámetros nombrados
Binding de parámetros:
$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_INTespecifica que son números enteros
Ejecución y retorno:
$stmt->execute(); return $stmt->fetchAll();Ejecuta la consulta
Retorna todos los resultados como array asociativo
Ejemplo de uso:
// 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:
SELECT * FROM solicitudes
ORDER BY fecha_registro DESC
LIMIT :inicio, :por_paginaORDER BY fecha_registro DESC: Ordena los registros por fecha de registro, mostrando los más recientes primeroLIMIT :inicio, :por_pagina: Limita los resultados comenzando desde:inicioy tomando:por_paginaregistros
Seguridad con PDO:
prepare(): Prepara la consulta para prevenir inyecciones SQLbindValue(): Asigna valores de forma segura a los parámetrosPDO::PARAM_INT: Especifica que los parámetros son números enteros
Ejemplo de uso:
// 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
Publicar un comentario