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: 17 años, 6 meses
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,