Foros del Web » Programando para Internet » PHP »

Problemilla con paginación

Estas en el tema de Problemilla con paginación en el foro de PHP en Foros del Web. Hola amigos, Como siempre gracias de antemano. Tengo un problemilla con una paginación que estoy haciendo en una web. Les pongo el código. Código: $registros ...
  #1 (permalink)  
Antiguo 28/10/2009, 04:54
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 2
Problemilla con paginación

Hola amigos,

Como siempre gracias de antemano. Tengo un problemilla con una paginación que estoy haciendo en una web. Les pongo el código.
Código:
$registros = 10; 
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina = 1;
$_pagi_propagar = array($id);
}
else {
$inicio = ($pagina - 1) * $registros;
}
Luego la query.... y los resultados.
Código:
echo "<div style='width: 95%; height:auto; margin-top:20px; text-align:left;  '>";
if(($pagina - 1) > 0) {
echo "<div class='pagination'><a  href='mshoplist.php?pagina=".($pagina-1)."&id_shopper=".$id."'> $previous</a></div> ";
} 
for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<div class='pagination'><span class='current'>".$pagina."</span></div>";
} else {
echo "<div class='pagination'><a  href='mshoplist.php?pagina=$i&id_shopper=".$id."'>$i</a></div> ";
} }
if(($pagina + 1)<=$total_paginas) {
echo "<div class='pagination'> <a  href='mshoplist.php?pagina=".($pagina+1)."&id_shopper=".$id."'>$next</a></div>";

}
echo "</div>";
el problema es el siguiente: Tengo actualmente 11 registros. Si pongo en $registros=10 el último registro no sale solo sale una pagina. Si pongo $registros=5 salen dos páginas pero el último no sale. ¿alguien ve el error?
He probado poner $registros=1 y lista 11 paginas es decir, todos los registros. Por lo que veo cuando la cantidad de registros por páginas no es exacta al $registros no pagina esos resultados. ¿Alguien me puede ayudar?

Gracias por todo.
  #2 (permalink)  
Antiguo 28/10/2009, 05:06
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: Problemilla con paginación

deverias hace un echo del sql, y despues ejecutalo en el phpmyadmin u otra herramienta y fijarte si dentro del resultado esta el registro que te esta faltando.
  #3 (permalink)  
Antiguo 28/10/2009, 05:07
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años
Puntos: 4
Respuesta: Problemilla con paginación

Falta algo de código como para saber exactamente por qué es, pero se me ocurre que al calcular el total de páginas no estés redondeando hacia arriba, es decir, sería algo así:

$total_paginas = ceil ($num_resultados / $registros);

Saludos
  #4 (permalink)  
Antiguo 28/10/2009, 05:13
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 14 años, 10 meses
Puntos: 2
Hola luis, gracias por la respuesta, pero ya hice el sql y salen 11 registros, es decir cuenta todos. Voy a probar lo que dice David, porque si parece que esté redondeando.

Ok. muchas gracias Davidcb, era eso, estaba redondeando y no salía el último registro.
Gracias de verdad, me estaba volviendo loco.

Un saludo

Última edición por GatorV; 28/10/2009 a las 09:33
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 20:50.