Hola, les presento una clase que programé en base al paginator de jpinedo.
Es una clase esta totalmente comentada en español y gratuita.
He agregado algunas funciones a esta clase que te permitirán:
- Poder hacer varias paginaciones en la misma página.
- Totalmente personalizable.
- Compatible para la integración con Ajax
- Trabaja con consultas sql o con arrays
- Compatible para utilizar con varias base de datos mysql
- Es altamente personalizable, y su configuración no requiere de conocimientos avanzados
Puedes bajarla desde aquí y comentarme alguna sugerencia o fallas que puedas encontrar.
http://www.usermax.net/EasyPagination.rar
Si bien la clase está toda comentada, no me hice de tiempo para hacer un tutorial de su implementación pero aquí les hago un resumen de cómo implementar esta clase:
Para consultas SQL: Código PHP:
$_sql = "SELECT * FROM test";
// Cargo EasyPagination
include_once('EasyPagination.php');
$paginador = new EasyPagination;
// Configuro EasyPagination
$paginador->sql($_sql);
$paginador->cuantos($_GET['cnt']);
$num = $paginador->contador($_GET['pagi']);
$resultado = $paginador->obtener();
// Recorrido
while ($row = mysql_fetch_assoc($resultado)) {
echo $num."<br>";
$num++;
}
Para Array de tipo $array[fila][columna] Código PHP:
// Array
$personas[1]['nombre'] = "Carlos";
$personas[1]['sexo'] = "Masculino";
$personas[1]['edad'] = "44";
$personas[2]['nombre'] = "Fernanda";
$personas[2]['sexo'] = "Femenino";
$personas[2]['edad'] = "21";
$personas[3]['nombre'] = "Marcela";
$personas[3]['sexo'] = "Femenino";
$personas[3]['edad'] = "31";
$personas[4]['nombre'] = "Claudio";
$personas[4]['sexo'] = "Masculino";
$personas[4]['edad'] = "57";
// Cargo EasyPagination
include_once('EasyPagination.php');
$paginador = new EasyPagination;
// Configuro EasyPagination
$paginador->conf("tipo","array");
$paginador->matriz($personas); // Aquí va tu array a apaginar
$paginador->cuantos($_GET['cnt']);
$num = $paginador->contador($_GET['pagi']);
$resultado = $paginador->obtener();
// Recorrido
foreach ($resultado as $valor) {
echo $num." ";
echo $valor['nombre']." ";
echo $valor['sexo']." ";
echo $valor['edad']." ";
echo "<br>";
$num++;
}
En los dos casos te quedan las variables para completar la hoja:
Código PHP:
echo $paginador->obtenerNav(); // Te da todo el html de la navegación
echo $paginador->info(); // Toda la info extra "Mostrando ... de un total de ..."
Obviamente en este sencillo ejemplo no agoto todas las posibilidades de esta clase. Se puede personalizar todo incluso usarla en varios idiomas en el mismo sitio.
Cualquier duda o necesidad plantearla aquí y la vamos viendo.
Ojalá les sea de utilidad.
Espero comentarios.
Saludos