Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/12/2005, 03:02
Pleniluni0
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
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.