| Paginación en PHP |
| Autor Mauro Rondinelli |
|
Este articulo explica uno de los metodos mas faciles y eficientes para paginar resultados en PHP. Como primer tenemos nuestra base de datos, en nuestro caso la nombramos "noticias" y le añadimos una tabla llamada "articulos" con la siguiente estructura...
Pasemos a explicar el código, primero hemos creado la función de conexión a la base de datos...
No olviden modificar las variables $base_de_datos, $db_usuario y $db_password con sus correspondientes valores, esa función puede ir en un include (seria lo mas recomendado), luego llamamos a la funcion...
Ya tenemos la variable $db apuntada a nuestra base de datos el siguiente paso es definir los valores por defecto, como por ejemplo cada cuantos artículos paginar...
Y detectar si la variable $pagina (indica el numero de pagina actual) esta definida, si no es así le damos el valor 1 ósea que si no se paso por la url la variable $pagina (por ejemplo: "paginacion.php?pagina=2") entramos a la pagina 1 directamente...
Como dato adicional la variable $inicio indica desde que registro empezar a mostrar los resultados. Pasemos al corazón de la paginación, miremos primero el código...
Como ven realizamos 2 consultas similares en cuanto a su criterio de selección ("WHERE visible = 1"). Con la primer consulta obtenemos el numero de resultados totales...
Ese dato de $total_registros nos sirve para poder determinar la cantidad de paginas. La segunda consulta tiene en el SQL dos elementos a analizar, el primero es el ORDER BY que lo que hace es ordenar los resultados por fecha y de forma descendente ("DESC") en caso contrario usaríamos "ASC". El segundo elemento a ver es LIMIT $inicio, $registros esa cláusula SQL cumple la función de limitar los resultados devueltos, el primer valor pasado como parámetro indica desde que registro empezar a devolver los resultados y el segundo parámetro indica la cantidad de registros que debe devolver desde $inicio. Luego solo queda el bucle que devuelve los resultados...
Como parte final nos queda lo que seria el navegador de paginas...
El código del navegador de paginas se divide en tres partes, primero la que muestra el link a la pagina anterior
El link a la pagina anterior será visible siempre y cuando no estemos en la primer pagina ($pagina - 1) > 0). La segunda parte del navegador de paginas seria la que muestra la cantidad de paginas...
Y la tercer parte es la que muestra el enlace a la pagina siguiente...
En este caso muestra el enlace siempre y cuando no estemos en la ultima pagina (($pagina + 1)<=$total_paginas). Podes descargar el ejemplo, lee el archivo lee |
|
WWW.ELGURUPROGRAMADOR.COM.AR
|