Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2008, 10:50
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Mensaje Error con la paginación

Hola amigs, estoy intentando paginar unos resultados de un foro siguiendo un manual que me encontre en Programación, el problema es que no funciona a la perfeccion.

Lo estoy probando en localhost y veran, tengo un maximo de 12 "usuarios" en la bd y en la paginacion tengo puesto que se muestren 10 resultados por pagina.
Pero no se muestran. CUando abro la pagina para ver los resultados, me muestra los 12 usuarios que tengo...

Miren, aqui el codigo

Código PHP:
<?php
$link 
mysql_connect("localhost""root","pass");
mysql_select_db("bd"$link);
$result mysql_query("SELECT autor, titulo, mensaje FROM foro"$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 !";
  
  if (!isset(
$pag)) $pag 1// Por defecto, pagina 1
$result mysql_query("SELECT COUNT(*) FROM foro"$link);
list(
$total) = mysql_fetch_row($result);
$tampag 10;
$reg1 = ($pag-1) * $tampag;
$result mysql_query("SELECT autor, titulo, mensaje FROM foro  LIMIT $reg1, $tampag"$link);

/* 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=");
?>
Y aqui una imagen de mi prueba:


Ven?, me muestran los 12 resultados y a su vez, me da la opcion de ir a la siguien pagina, para seguir mostrando resultados, pero no funciona. ¿¿Que falla???

Si eso, pruebenlo y verán.

Muchas gracias antetodo!!

PD: Se me olvidaba...porque no se muestra el titulo y el mensaje??
Gracias,