Estoy aprendiendo php he intento realizar una pagina donde poder mostrar los datos de una tabla de forma paginada y estoy probando con el siguiente codigo, pero no se bien cual es el problema que debo tener ya que consigo mostrar los datos, pero al querer pasar a otra pagina esta no se me actualiza con los siguientes registros a mostrar aunque en la url si veo que me indica otro número de pagina.
Espero que me puedan revisar el codigo y me digan si tengo algún error o si tal vez me falte algo.
Yo tengo un archivo llamado paginar.php con el siguiente codigo.
Gracias.
Código PHP:
<html>
<head>
<title>Páginación de resultados</title>
</head>
<body bgcolor=#FFFFFF>
<?php
// Datos de conexión a la base
$base="libreria";
$con=mysql_connect("localhost","usuario","password");
mysql_select_db($base,$con);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=2; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = "SELECT * FROM libros ORDER BY titulo LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());
$contar = "SELECT * FROM libros ORDER BY titulo";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);
// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo $array['titulo']."<br>";
}
// Cerramos la conexión a la base
$con=mysql_close($con);
// Creando los enlaces de paginación
echo "<p>";
if ($pg <> 0)
{
$url = $pg - 1;
echo "<a href='paginar.php?pg=".$url."'>« Anterior</a> ";
}
else {
echo " ";
}
for ($i = 0; $i<($pages + 1); $i++) {
if ($i == $pg) {
echo "<font face=Arial size=2 color=ff0000><b> $i </b></font>";
}
else {
echo "<a href='paginar.php?pg=".$i."'>".$i."</a> ";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='paginar.php?pg=".$url."'>Siguiente »</a>";
}
else {
echo " ";
}
echo "</p>";
?>
</body>
</html>