Hola Amigos tengo este codigo de paginación:
<html>
<body>
<?php include("../cabecera.php"); ?>
<?php
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;
}
$link = mysql_connect("localhost", "root");
mysql_select_db("resim", $link);
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM resim", $link);
list($total) = mysql_fetch_row($result);
$tampag = 10;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT frase FROM resim
LIMIT $reg1, $tampag", $link);
if (mysql_num_rows($result)){
echo "<table border = '1'> \n";
echo "<tr><td>Frase</td>\n";
while ($row = @mysql_fetch_array($result)) {
echo "<tr><td>".$row["frase"].
"</td></tr> \n";
}
echo "</table> \n";
echo paginar($pag, $total, $tampag, "pagina.php?pag=");
}
else
echo "¡ No se ha encontrado ningún registro !";
?>
</body>
</html>
La verdad que la consulta me la hace correctamente, pero lo que no me funciona son los links para mostrar los 10 resultados siguientes.
Tambien tengo este otro codigo pero me ocurre lo mismo:
<html>
<head>
<title>Paginación de resultados</title>
</head>
<body bgcolor=#FFFFFF>
<?php include("../cabecera.php"); ?>
<?
// Datos de conexión a la base
$base="resim";
$con=mysql_connect("localhost","root","");
mysql_select_db($base,$con);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = "SELECT frase FROM resim ORDER BY frase LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());
$contar = "SELECT id FROM resim ORDER BY id";
$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['frase']."<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=' prueba.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='prueba.php?pg=".$i."'>".$i."</a> ";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='prueba.php?pg=".$url."'>Siguiente »</a>";
}
else {
echo " ";
}
echo "</p>";
?>
</body>
</html>
Se que seguro que es una tonteria porque los dos me fallan en los mismo y en teoria deben de funcionar, pero yo no consigo hacerlo.
Si hay alguien que me pueda hechar una mano, se lo agradeceria mucho.
Muchas Gracias.
Un saludo, MeXiCaN.