Paginator versión 1.6.3
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. 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.
Paginator genera, además, una "barra de navegación" que contiene los enlaces a las diferentes páginas (<<anterior 1 2 3 4 siguiente>>.
La característica principal de este script es su fácil utilización, ya que la forma de paginar es muy conocida y utilizada. Lo que se ha pretendido con este script es ordenarlo de tal forma que no sea necesario entenderlo ni editarlo, sino simplemente incluirlo después de definir al menos una variable.
El script ha sido escrito con fines didácticos. Es por eso que 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.
¿Cómo se utiliza?
Como ya se dijo, el uso de este script para paginar es bastante sencillo. Consta de los siguientes pasos:
* Conectarse a la Base de datos.
* Definir una sentencia sql (cadena) válida (para MySql) y almacenarla en la variable $_pagi_sql. Esta variable no debe contener la cláusula "LIMIT", pues será agregada automáticamente por el script. La definición de esta variable es OBLIGATORIA.
* OPCIONALMENTE también podemos definir las siguientes variables:
1. $_pagi_cuantos: Entero. Número de resultados que queremos obtener por cada página. Si no se define esta segunda variable, será por defecto 20.Disponible desde la versión 1.0
2. $_pagi_nav_num_enlaces: Entero. Cantidad de enlaces a los números de página que se mostrarán como máximo en la barra de navegación. Por defecto se muestran todos. Disponible desde la versión 1.3
3. $_pagi_mostrar_errores: Booleano. Define si se muestran o no los errores de MySQL que se puedan producir. Por defecto está en "true". Disponible desde la versión 1.3
4. $_pagi_propagar: Array de cadenas. Contiene los nombres de las variables que se quiere propagar por el url. Por defecto se propagarán todas las que ya vengan por el url (GET). Disponible desde la versión 1.4
5. $_pagi_conteo_alternativo: Booleano. Booleano. Define si se cuentan los registros desde PHP con mysql_num_rows() (true) o desde MySQL como se venía haciendo hasta ahora con COUNT(*) (false). Por defecto está en false. Recomendable mantener en false a menos que dé errores de conteo o resultados no esperados. Disponible desde la versión 1.5
6. $_pagi_nav_estilo: Cadena. Contiene el nombre del estilo CSS para los enlaces de paginación. Por defecto no se especifica estilo.
7. $_pagi_nav_anterior: Cadena. Contiene lo que debe ir en el enlace a la página anterior. Puede ser un tag <img>. Por defecto se utiliza la cadena "« Anterior".
8. $_pagi_nav_siguiente: Cadena. Contiene lo que debe ir en el enlace a la página siguiente. Puede ser un tag <img>. Por defecto se utiliza la cadena "» Siguiente".
* Incluir el Paginator. A partir de aquí, quedan disponibles las siguientes variables:
1. $_pagi_result : Que contiene el id del resultado de la consulta para los registros de la página actual, listo para pasarlo por alguna función tipo mysql_fetch_array().
2. $_pagi_navegacion : Que contiene la "barra de navegación" para poder acceder a las diferentes páginas.
3. $_pagi_info : Cadena que contiene información sobre los registros de la página actual. Ejemplo: "desde el 16 hasta el 30 de un total de 123";
* Mostrar los resultados, la barra de navegación y la info en el lugar que mejor nos parezca haciendo uso de las variables mencionadas en el apartado anterior.
Por ejemplo...
Supongamos que tenemos una tabla llamada "clientes" y queremos obtener una relación de todos los clientes del sexo masculino que hay en dicha tabla, ordenada por edad. La sintaxis sería la siguiente:
//Conexión a la base de datos
$con = mysql_connect("localhost","tu_username","tu_passwo rd" 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 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.
Aqui el dichoso link:
http://jpinedo.webcindario.com/scripts/paginator/Paginator_v1.6.3.zip