Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/01/2006, 16:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
te pego un código que hice, es algo tosco, quizás te sirva como base.

Código PHP:
<?php

# algunas variables generales
 
$servidor = "";
 
$usuario = "";
 
$contrasenia = "";
 
$base = "";
 
$mostrar = 10; # cantidad de registros a mostrar.
 
$consulta = "";

# si no tengo variable "ini", mostrar desde el primero
 
if ( isset($_GET["pag"]) ) {
  
$ini = $_GET["ini"];
 }
 else {
  
$ini = 0;
 }


# conexion
 
$conexion = mysql_connect($servidor, $usuario, $contrasenia);
 
$seleccionabase = mysql_select_db($base, $conexion);
 
$sentencia = mysql_query($consulta, $conexion);
 
$total = mysql_num_rows($sentencia);

# antes de empezar, comprobaciones de seguridad...
 
if ( ( ($ini != 0) AND (fmod($ini, $mostrar) != 0) ) OR ( $ini >= $total ) ) {
  die(
"Valor de \$ini incorrecto");
 }

# cantidad de resultados a mostrar (por ejemplo, si $ini == 10 y $total == 12, muestro 2 resultados
# en vez del valor de $mostrar.

 
$resultados = $total - $ini;

 if ( 
$resultados >= $mostrar ) {
  
$resultados = $mostrar;
 }

# obtengo cada registro y escribo lo necesario con cada uno.
 
for ($i = $ini; $i <= $resultados; $i++) {
  
$muevopuntero = mysql_data_seek($sentencia, $i);
  
$resultado = mysql_fetch_row($sentencia);

# ACA VA EL CÓDIGO HTML. DE CADA REGISTRO.
 
}

# barra de navegación
# primero, obtengo las páginas (sumo una si queda incompleta)
 
$paginas = $total / $mostrar;

 if ( 
$paginas != floor($paginas) ) {
  
$paginas++;
 }

 
$pag_actual = ($ini / $mostrar) + 1;

# indicador de página
 
echo "P&aacute;gina ".$pag_actual." de ".$paginas;

# enlaces "Anterior" y "Primera"
 
if ( $ini != 0 ) {
  
$ini_anterior = $ini - $mostrar;
  echo 
"<a href=\"index.php\">Primera</a>";
  echo 
"<a href=\"index.php?ini=".$ini_anterior."\">&lt; Anterior</a>";
 }
 else {
  echo 
"Primera";
  echo 
"&lt; Anterior";
 }

# enlaces "siguiente" y "última"
 
if ( $pag_actual != $paginas ) {
  
$ini_siguiente = $ini + $mostrar;
  
$ini_ultima = floor ($total, $mostrar);
  echo 
"<a href=\"index.php?ini=".$ini_siguiente."\">Siguiente &gt;</a>";
  echo 
"<a href=\"index.php?ini=".$ini_ultima."\">&Uacute;ltima</a>";
 }
 else {
  echo 
"Siguiente &gt;";
  echo 
"&Uacute;ltima";
 }
?>
Saludos.

PD: si alguien quiere armar un FAQ con este código, me sentiría orgulloso.