Muchas gracias por la ayuda me ha parecido muy interesante y me será util
He conseguido tambien arreglarlo. El problema estaba en que al actualizar no le indique que debe recibir la variable de la pagina por GET y por eso me fallaba.
Les dejo el codigo resuelto y funcionando para quien lo desee. ^^
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($_GET['pg']))
{
$pg = 0;
}else
{
$pg=$_GET['pg'];
}
// $pg es la pagina actual
$cantidad=5; // 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);
echo "page: ". $pages;
echo "pg: ".$pg;
// 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>