Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/05/2008, 12:03
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 20 años
Puntos: 74
Respuesta: Error con la paginación

Gracias GatorV, mas o menos lo hice, pero no logre hacerlo funcionar.
Más o menos, miren:

Código PHP:
<html>
<body>
<?php
$link 
= mysql_connect("localhost", "root","pass");
mysql_select_db("bd", $link);
$result = mysql_query("SELECT autor, titulo, mensaje FROM foro", $link);
  if (!isset(
$pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM foro", $link);
list(
$total) = mysql_fetch_row($result);
$tampag = 5;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT autor, titulo, mensaje FROM foro  LIMIT $reg1, $tampag", $link);
if (
mysql_num_rows($result)){
  echo 
"<table border = '1'> \n";
  echo 
"<tr><td>Autor</td><td>Titulo</td><td>Mensaje</td></tr> \n";
  while (
$row = @mysql_fetch_array($result)) {
    echo 
"<tr><td>".$row["autor"]."</td>";
        
"<td>".$row["titulo"].
      
"</td><td>".$row["mensaje"]."</td></tr> \n";
  }
  echo 
"</table> \n";
}
else
  echo 
"¡ No se ha encontrado ningún registro !";


/* Funcion paginar
 * actual:          Pagina actual
 * total:           Total de registros
 * por_pagina:      Registros por pagina
 * enlace:          Texto del enlace
 * Devuelve un texto que representa la paginacion
 */
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;</a> ";
  else
    
$texto = "<b>&laquo;</b> ";
  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\">&raquo;</a>";
  else
    
$texto .= "<b>&raquo;</b>";
  return 
$texto;
}

echo 
paginar($pag, $total, $tampag, "clientes.php?pag=");
?>
</body>
</html>
Ahora si me muestra el total de registros por pagina. Esta vez en vez de 10 lo he cambiado a 5 y si, me muestra un total de 5. Pero el problema que eo ahora, es que si le doy a la siguiente pagina para que me siga mostrando resultados, no me los muestra, osea, me muestra los 5 primeros resultados que me muestra al principio, vamos como si no se actualizara.

¿Que sucede ahora??

Gracias de nuevo,