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\">«</a> ";
else
$texto = "<b>«</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\">»</a>";
else
$texto .= "<b>»</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,