Vous êtes sur la page 1sur 12

PHP/MYSQL

74 – PAGINACIÓN I

¿QUE ES LA PAGINACIÓN?

Consiste en mostrar los registros que estén almacenados en una tabla de datos en varias
páginas.

CREACIÓN DE PAGINACIÓN SENCILLA

A continuación vamos a crear una paginación sencilla. Para ello vamos a estar trabajando con la
base de datos llamada “prueba” y la tabla de datos “personas”.

Como podemos darnos cuenta la tabla de datos solo posee un total de 5 registros. Vamos a crear
una paginación de tal manera que los primeros 2 registros se muestren en una primera página,
los 2 siguientes registros en una segunda página y el último registro en una tercera página.

1._CREACIÓN DE LA PRIMERA PÁGINA:

Esta primera página tendrá el objetivo de mostrar todos los registros:


Vista en el navegador:

2._INDICAR CUALES DE TODOS LOS REGISTROS QUEREMOS VER PARAMETRO LIMIT:

El parámetro LIMIT de sql permite indicar a partir de cual registro queremos mostrar los
resultados y también hasta que registro determinado queremos que se muestren.

Ejemplo:

Modificamos la consulta sql de la siguiente forma:

Con la instrucción “LIMIT 0,2” Le estamos diciendo que comience a mostrar registros desde la
posición 0 del array y que solo nos muestre 2 registros incluyendo el que está en la posición 0:

Si por ejemplo le decimos que nos muestre 3 registros:

Y si le decimos que por ejemplo nos muestre 2 registros pero a partir de la posición 1 en el array:
PHP/MYSQL

75 – PAGINACIÓN II

¿Cómo SABER CUANTOS REGISTROS NOS DEVUELVE NUESTRA CONSULTA?

Para lograr esto creamos una variable que se llame por ejemplo “cantidad_registros” a la cual le
asignaremos el valor de 2. Esta variable servirá para indicar cuantos registros queremos ver por
cada página… con el valor 2 estamos diciendo que querremos ver 2 registros por página…

Luego de esto creamos otra variable a la cual llamaremos “pagina” y esta servirá para indicar en
cual página nos encontramos al cargar el navegador por primera vez… Le asignamos en principio
como valor 1 para indicar que estamos en la pagina 1.
Para saber cuántos registros tiene nuestra tabla usamos la función mysqli_num_rows ().

¿Cómo SABER CUANTAS PÁGINAS TENDREMOS EN LA PAGINACIÓN?

Para saber esto basta con dividir el número de registros que tiene nuestra tabla entre el número
de registros que queremos que se nos muestre por cada página…

Para evitar que la división nos arroje un decimal utilizamos la función ceil para redondear a un
entero…
Podemos construir los siguientes mensajes informativos:

Vista en el navegador:
MOSTRAR LA CANTIDAD DE REGISTROS ESCOGIDA

La primera consulta sql que realizamos solo nos sirve para determinar cuántos registros tiene
nuestra tabla… para mostrar los 2 registros creamos una nueva consulta y le agregamos el LIMIT:

Vista en el navegador:

Esto no funciona del todo bien ya que los valores del LIMIT deben ser variables… si lo dejamos
como está siempre nos mostrará los resultados de la posición 0 a la 1 en todas las páginas..

Lo ideal es que en la primera página se muestren los registros en las posiciones 0 y 1, en la


segunda página los registros en las posiciones 2 y 3 y por último en la tercera página el registro
con la posición 5.

Esto lo solucionamos creando una variable que nos permita indicar desde que registro queremos
empezar a mostrar el resultado…
-1

Luego de esto ya podemos sustituir en el LIMIT los valores fijos por las variables.

Vista en el navegador:
PHP/MYSQL

76 – PAGINACIÓN III

CONSTRUCCIÓN DE LA PAGINACÓN

Para construir dicha paginación utilizamos un bucle for de la siguiente manera:


Como podemos observar correctamente se muestran el número de páginas pero son números
que no están convertidos en vínculos. Para lograrlo hacemos la siguiente modificación:

Vista en el navegador:

Con el atributo href y el valor ?pagina logramos que al hacer clic en cada link o número se pase el
valor correspondiente por parámetro a la barra de direcciones del navegador… valor que luego
rescataremos con la variable superglobal…

Para finalizar:
Con esto el código queda finalizado…

Si pulsamos en la página 2:

Si pulsamos en la página 3:
Si pulsamos en la página 1:

Vous aimerez peut-être aussi