Foros del Web » Programando para Internet » PHP »

Problemas al Paginar

Estas en el tema de Problemas al Paginar en el foro de PHP en Foros del Web. 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 (permalink)  
Antiguo 04/08/2005, 13:49
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 13 años, 6 meses
Puntos: 0
Problemas al Paginar

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\">&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;
}

$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.

Última edición por MeXiCaN; 05/08/2005 a las 03:37
  #2 (permalink)  
Antiguo 05/08/2005, 04:41
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 12 años, 7 meses
Puntos: 0
aki tienes un paginador de resultados ya escrito, pruebalo: http://www.miwebera.com/desarrollophp/article36.html
__________________
Saludos!
  #3 (permalink)  
Antiguo 09/08/2005, 17:03
Avatar de MeXiCaN  
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona - España , Morelia - México
Mensajes: 162
Antigüedad: 13 años, 6 meses
Puntos: 0
Gracias, lanceusp

Muchas Gracias, lanceusp, al final encontre la manera de solucionar mi paginación. y la verdad que me quedo bien chula.

Merci.
  #4 (permalink)  
Antiguo 09/08/2005, 17:09
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 6 meses
Puntos: 3
posteala ! yo uso el paginator
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:11.