Buenas... les dejo cómo utilice una clase dada en este sitio para paginar y limitar la cantidad de enlaces.
El problema no es paginar, sino que no explica como traer los resultados paginados, cosa que le agrego. En este primer caso utilizo la libreria mysql de php, y más abajo con PDO
FUENTE:
http://objetivophp.com/?p=183
Descargar los archivos. Se puede utilizar alguno de los estilos ya dados en la misma carpeta.
Ejemplo con librería Mysql:
Código PHP:
<?php
//incluimos nuestra conexion
include("../../../link/connect.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="estilosPaginador/digg.css" type="text/css" rel="stylesheet"></link>
<title>BUSCADOR FULLTEXT + PAGINADOR</title>
</head>
<body>
<?php
// en esta parte traemos todos los resultados para mostrar
// en este caso queremos mostrar 10 registros por página, por tanto
// es importante que enla variable $cantidadRegistrosPorPagina si esta en 10
// los valores de $start_from y en el LIMIT de SQL tambien esten en 10
if (isset($_GET["pagina"])) { $pagina = $_GET["pagina"]; } else { $pagina=0; };
$start_from = ($pagina) * 10;
$sql="SELECT * FROM productos_disponibles ORDER BY productoDisponible ASC LIMIT $start_from, 10";
$q=mysql_query($sql,$conn) or die(mysql_error());
while($r= mysql_fetch_array($q)){
echo "<p>".$r['productoDisponible']."</p>";
}
// PAGINADOR EN SI, muy similar, solo que le pasamos
// los parametros a la clase Paginador();
// Consulta para paginar
$sql_prod="SELECT * FROM productos_disponibles";
$query=mysql_query($sql_prod,$conn) or die(mysql_error());
$num_prod= mysql_num_rows($query);
// Parametros a ser usados por el Paginador.
$cantidadRegistrosPorPagina = 10;
$cantidadEnlaces = 10; // Cantidad de enlaces que tendra el paginador.
$totalRegistros = $num_prod;
// Comenzamos incluyendo el Paginador.
require_once 'Paginador.php';
// Instanciamos la clase Paginador
$paginador = new Paginador();
// Configuramos cuanto registros por pagina que debe ser igual a el limit de la consulta mysql
$paginador->setCantidadRegistros($cantidadRegistrosPorPagina);
// Cantidad de enlaces del paginador sin contar los no numericos.
$paginador->setCantidadEnlaces($cantidadEnlaces);
// Agregamos estilos al Paginador
$paginador->setClass('primero', 'previous');
$paginador->setClass('bloqueAnterior', 'previous');
$paginador->setClass('anterior', 'previous');
$paginador->setClass('siguiente', 'next');
$paginador->setClass('bloqueSiguiente', 'next');
$paginador->setClass('ultimo', 'next');
$paginador->setClass('numero', '<>');
$paginador->setClass('actual', 'active');
// Y mandamos a paginar desde la pagina actual y le pasamos tambien el total
// de registros de la consulta mysql.
$datos = $paginador->paginar($pagina, $totalRegistros);
// Preguntamos si retorno algo, si retorno paginamos. Nos retorna un arreglo
// que se puede usar para paginar del modo clasico. Si queremos paginar con
// el enlace ya confeccionado realizamos lo siguiente.
if ($datos) {
$enlaces = $paginador->getHtmlPaginacion('pagina', 'li');
?>
<ul id="pagination-digg">
<?php
foreach ($enlaces as $enlace) {
echo $enlace . "\n";
}
?>
</ul>
<br /><br />
<?php
}
?>
</body>
</html>