> Manuales > Taller de PHP

Comentamos las características de un script para realizar paginación de resultados con PHP y MySQL. Gratuito y totalmente en español.

Paginator es un script de paginación desarrollado en PHP para dividir resultados de consultas extensas a una base de datos MySql, en grupos de "n" registros por página. Genera, además, una "barra de navegación" que contiene los enlaces a las diferentes páginas (<<anterior 1 2 3 4 siguiente>>).

Nota: Como ejemplo de paginación podemos ver la página de google, donde se dice que hay 13,235 resultados, pero aparecen divididos en varias páginas de 20 resultados cada una.

La característica principal de este script es su fácil utilización, ya que la forma de paginar es muy conocida y utilizada. Por ello, no es necesario entenderlo ni editarlo, sino simplemente incluirlo después de definir al menos una variable. No obstante, todas las líneas están comentadas debidamente, para que sea sencillo seguir la secuencia y saber qué hace el script en cada línea. Y lo mejor de todo es que está completamente en español.

Utilización del script

La utilización es extremadamente sencilla. Debemos Conectar con la Base de datos, definir una sentencia sql válida para MySql y almacenarla en la variable $_pagi_sql. Esta sentencia SQL no debe contener la cláusula "LIMIT", pues será agregada automáticamente por el script.

La definición de esta variable es obligatoria. Se pueden crear otras variables para personalizar el sistema de paginación en detalles como el número de resultados por página o el número de enlaces a otras páginas de resultados que aparecerán.

Luego, se incluye el script de paginación, y se generan otras variables que podemos utilizar para hacer la página de resultados. $_pagi_result es el id de resultado de la consulta, que podemos utilizar con alguna función tipo mysql_fetch_array(). $_pagi_navegación contiene la barra de navegación con enlaces a las distintas páginas y $_pagi_info almacena la información de registros visualizados y número de páginas, algo así como "desde el 16 hasta el 30 de un total de 123".

Vamos a ver un código sencillo que utiliza Paginator para gestionar la paginación de resultados.

//Conexión a la base de datos
$con = mysql_connect("localhost","tu_username","tu_password") or die (mysql_error());
mysql_select_db("tu_base",$con) or die (mysql_error());

//Sentencia sql (sin limit)
$_pagi_sql = "SELECT * FROM clientes WHERE sexo='m' ORDER BY edad";

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 10;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
    echo $row['nombre']."<br />";
}

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";

Como podemos ver, no hay mayor trabajo adicional, respecto al que se realizaría en un código sin paginar. Cabe aclarar que el nombre de las variables que utiliza el script (internas y externas) empiezan todas por el prefijo $_pagi_ para evitar conflictos por coincidencias con los nombres de otras variables que se estén utilizando.

Nota: El autor de este proyecto dejó de mantener la página de inicio, donde ofrecía una descripción más detallada del script, así como la descarga. Nosotros teníamos una copia del código PHP, que la hemos recuperado para aquellos interesados en implementar la paginación de resultados. El script ya tiene años, pero nosotros seguimos utilizándolo en alguna de las secciones de DesarrolloWeb.com sin problemas.

Insistimos en que el script no es nuestro, sino de su autor, Jorge Pinedo Rosas. No hemos pedido permiso para ofrecerlo para descarga, pero esperamos que Jorge no le importe que lo pongamos a disposición de las personas por este canal. Puedes encontrar toda la información sobre la autoría, así como algunas notas para su implementación como comentario en el propio código PHP del script.

Para descargar el script de manera gratuita: http://www.desarrolloweb.com/articulos/ejemplos/paginator.inc.php.zip

Nota: Si quieres aprender a paginar resultados por tu cuenta, en DesarrolloWeb.com hemos publicado un artículo interesante que te puede venir bien: Paginación de resultados con PHP y MySQL.

Jorge Pinedo

Creador de Paginator

Manual