Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/06/2007, 19:00
RoKo
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 22 años
Puntos: 4
Re: Distribuir en distintas paginas

Hola hey_alan

No considero que sea mucho pedir, pues para eso estamos, voy a tratar de orientarte un poco.

Lo que tu tratas de hacer se conoce como "paginacion de resultados" en PHP.

Vamos a tener una variable que en este caso se pase por URL, y se llamara $iniciar, si dicha variable no existe, la crearemos como cero.

Código PHP:
if (!$_GET["iniciar"]) { 
$iniciar 0

else { 
$iniciar $_GET["iniciar"]; 
}

$suma $iniciar 10
Esta variable indicara el primer registro desde donde vamos a leer.

La variable suma indicara el ultimo, vale decir, el numero de inicio mas diez.

Una vez que tengamos esto hacemos la consulta MySQL, asumiremos que tienes un campo "id" y otro campo "nombre", y la tabla se llama "tutabla"

Código PHP:
// Total de registros
$sql1 mysql_query("SELECT * FROM [B]tutabla[/B]");
$total mysql_num_rows($sql1);  
mysql_free_result($sql1); // Liberamos los recursos.

// Cargamos los registros que nos correspondan
$sql2 mysql_query("SELECT * FROM [B]tutabla[/B] ORDER BY [B]id[/B] DESC LIMIT $iniciar,$suma");

while (
$fila mysql_fetch_assoc($sql2)) {
 echo 
"Nombre: ".$fila["nombre"]."<br>";

Con la sentencia WHILE recorremos la tabla tantos resultados se encuentre, ademas tenemos la variable $total, con la cantidad de campos retornados, ahora veremos si $total - $suma es mayor que cero, es porque nos quedan registros, asi que mostramos que tenemos una pagina pendiente.

Código PHP:
$dif $total $suma;
if (
$dif 0) {
  echo 
"<a href=\"tupagina.php?iniciar=".$suma."\"> Pagina Siguiente </a>";

Ahi esta!, si quieres poner un "Pagina Anterior", solo debes verificar que $suma sea mayor que 10, osino estaran en la primera pagina :P

Esto es bastante "sencillo" pero no es una mala alternativa, tu ves como lo puedes mejorar.

Saludos
__________________
Roberto Osses Elgueta
Senior Web Developer