Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/12/2005, 03:02
Pleniluni0
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 21 años, 6 meses
Puntos: 1
Este es secillo y muy efectivo, primero la funcion

Código PHP:

function paginar($actual, $total, $por_pagina, $enlace) {

   
$total_paginas = ceil($total/$por_pagina);
  
$anterior = $actual - 1;
  
$posterior = $actual + 1;
  if (
$actual>1)
    
$texto = "<a href=\"$enlace$anterior\">&laquo; Anterior</a> ";
  else
    
$texto = "<b>&laquo; </b>Anterior ";
  for (
$i=1; $i<$actual; $i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  
$texto .= "<b>$actual</b> ";
  for (
$i=$actual+1; $i<=$total_paginas; $i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  if (
$actual<$total_paginas)
    
$texto .= "<a href=\"$enlace$posterior\">Siguiente &raquo;</a>";
  else
    
$texto .= "Siguiente <b>&raquo;</b>";
  return 
$texto;
} 
Debes de pasar estas variables cuando haces tu query a la base de datos

Código PHP:

// hacemos la peticion a la base de datos con variables para paginar los resultados
// Por defecto, pagina 1, esto dejalo tal cual
if (!isset($pag)) $pag = 1; 
$result = mysql_query("select count(*) from TU_CONSULTA'"); // numero total de registros
list($total) = mysql_fetch_row($result);// aqui $total lleva el Nº total de registros
$tampag = 15;// el Nº de registros que quieras por pagina
$reg1 = ($pag-1) * $tampag;
$result=mysql_query ("SELECT TU_CONSULTA limit $reg1, $tampag");
if (!
$result){alerta ("Error al pedir consulta","admin_catalogo.php");}

if (
$total==0){die ("No hay ninguna coincidencia");}
} 
Para terminar pon la llamada a la funcion donde quieres que te salgan los numeros de la paginacion

Código PHP:

if ($total>15)
echo 
paginar($pag, $total, $tampag, "TU_PAGINA.php?pag="); 
__________________
Ciao y suerte.