Foros del Web » Programando para Internet » PHP »

duda paginacion

Estas en el tema de duda paginacion en el foro de PHP en Foros del Web. Hola, Estoy aprendiendo php he intento realizar una pagina donde poder mostrar los datos de una tabla de forma paginada y estoy probando con el ...
  #1 (permalink)  
Antiguo 18/01/2009, 05:33
 
Fecha de Ingreso: marzo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 1
Pregunta duda paginacion

Hola,
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"
$contarokmysql_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>
  #2 (permalink)  
Antiguo 18/01/2009, 06:55
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: duda paginacion

yo tengo este paginador y me va estupendamente phppaging
  #3 (permalink)  
Antiguo 18/01/2009, 08:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 1
Respuesta: duda paginacion

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"
$contarokmysql_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>
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 10:31.