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>