paginación en PHP

¿Cómo hacer una paginación en PHP?

Tiempo de lectura: 5 minutos
Rate this post

Al proceso de segmentar o dividir datos con el objetivo de mejorar los tiempos de respuesta en las peticiones de nuestra API le denominaremos paginación en PHP

Cuando iniciamos un nuevo proyecto, en el cual consultamos a una base de datos y nos devuelve registros, nunca sabemos cual es la cantidad de registros que dicha base de datos nos devolverá, puede ser 1, 100, 1,000 o 1,000,000 de registros.

Por lo que es importante tomar en consideración que estas consultas deberán estar optimizadas y segmentadas para evitar que nuestra aplicación se pueda colgar o generar algún error que probablemente no teníamos en consideración.

Es por eso que ahora te voy a contar acerca de cómo realizar la paginación en tus consultas para eficientar los procesos que nuestra API va generando.

¿Qué es la paginación en PHP y cómo implementarla en tu página web?

La paginación es un proceso que divide una cantidad de resultados en diferentes páginas. En PHP, se puede realizar la paginación de resultados de una base de datos, por ejemplo, mostrando un número limitado de resultados por página y proporcionando enlaces para navegar entre las páginas.

¿Cómo paginar los datos de tu API en PHP?

Para poder páginar tus datos en PHP es necesario definir la lógica que utilizarás para servirlos, en términos generales, los pasos para poder añadir la páginación a tu proyecto, son los siguientes:

  1. Recuperar la cantidad total de resultados de la base de datos
  2. Definir el número de resultados por página
  3. Calcular el número total de páginas
  4. Recuperar el número de página actual
  5. Calcular el registro inicial para el límite y Recuperar los resultados de la base de datos para la página actual

Aquí hay un ejemplo básico de cómo hacer paginación en PHP para tu API utilizando el Framework FlightPHP:

Recuperar la cantidad total de resultados de la base de datos

El primer paso para poder realizar la paginación en PHP la consulta a la tabla que queramos páginar, en este caso, hice una consulta SQL a la tabla de usuarios y mediante el método rowCount pude acceder al total de elementos o registros que trae esa consulta, mismos que se añaden a la variable total.

Paginación en PHP, Obtener el total de elementos
Paginar en php, Obtener el total de elementos

Definir el número de resultados por página

El segundo paso para poder realizar la paginación en PHP es definir el número de resultados que quieres se muestren por página, en este caso, utilicé una variable denominada limit y le asigné el valor de 10, lo que quiere decir que deseo que se muestren 10 registros por página

Paginar en php, Definir número de elementos
Paginar en php, Definir número de elementos

Calcular el número total de páginas

El tercer paso para poder hacer una paginación en PHP es hacer una división o cociente del número total de registros entre el número de elementos que queremos por página, con eso lograremos encontrar el número total de páginas de nuestra petición.

En este caso, se realiza la división de la variable total creada en el paso 1 y la variable limit creada en el paso 2 y mediante la función ceil la cual permite redondear los números decimales hacia arriba, se asigna el resultado a la variable pages.

Esto es importante ya que si suponemos que total es un 11 y limit es un 10, la división nos dará como resultado 1.1, si redondeamos hacia abajo, entonces solo tendríamos 1 página como resultado, por lo que el registro 11 nunca lo mostraríamos, sin embargo, si el resultado se redondea hacia arriba, entonces tendremos 2 páginas, y en la segunda aparecería el registro #11.

Paginar en php, Calcular el total de páginas
Paginar en php, Calcular el total de páginas

Recuperar el número de página actual

En este punto de la paginación en PHP, debemos revisar que nos envíen como parámetro la variable page y en caso de no ser así o de no estar definida dicha variable, automáticamente tenemos que suponer que el valor de page es igual a 1.

Paginar en php, Revisar página actual
Paginar en php, Revisar página actual

Calcular el registro inicial para el límite y Recuperar los resultados de la base de datos para la página actual

Una vez que ya tenemos todos nuestros valores para poder realizar la paginación en PHP, lo siguiente será realizar una consulta MySQL utilizando la cláusula limit, es importante recordar que limit cuenta con dos parámetros.

El primero es a partir de que elemento o registro queremos mostrar y el segundo es cuantos elementos o registros queremos mostrar, es por ello que definimos una variable start que le resta uno a la variable page que recibimos y lo multiplica por el limit, con esto conseguimos que el offset o desplazamiento de nuestra consulta, se relacione directamente con el número de páginas. Haz la prueba, si page es uno, entonces:

start será igual a uno menos uno que nos da cero y multiplicado por 10 nos seguirá dando cero.

¿Cómo se interpreta esto en la consulta MySQL?

Esto quiere decir que seleccionaremos todos los registros de los usuarios con un desplazamiento 0, es decir, empezando desde el primer registro, y limitando la consulta para que únicamente nos muestre 10 registros.

¿Qué pasaría si page vale 2? te invito a que realices los cálculos para entender la lógica.

Paginar en php, Calcular el registro inicial
Paginar en php, Calcular el registro inicial

En resumen, podemos observar que el proceso de paginación es bastante sencillo y el costo-beneficio en relación con los tiempos de respuesta y optimización de nuestras consultas siempre será el adecuado, por lo que te recomiendo ampliamente paginar en medida de lo posible todos tus desarrollos.

Te recomiendo que visites nuestra página Cómo crear un API utilizando el Framework de FlightPHP, si deseas empezar a construir tu API desde cero utilizando el Framework FlightPHP

Adicional, te recomiendo visites mi canal de Youtube en el cual encontrarás información referente a incrementar tus habilidades dentro del desarrollo web.

También podría interesarte

¿gitignore, Qué ch*ngd*s es? indispensable saberlo

Comentarios desactivados en ¿gitignore, Qué ch*ngd*s es? indispensable saberlo

Tutorial Makefile

Comentarios desactivados en Tutorial Makefile

Tutorial: Insomnia Client en 8 pasos

Comentarios desactivados en Tutorial: Insomnia Client en 8 pasos
Social Share Buttons and Icons powered by Ultimatelysocial
YouTube
YouTube
Instagram
Scroll al inicio