Foros del Web » Programando para Internet » PHP »

Recomendación con paginación por favor

Estas en el tema de Recomendación con paginación por favor en el foro de PHP en Foros del Web. Que tal, yo paginé unos resultados de una base de datos, son imagenes, y vienen de a 1, el problema esta cuando tengo muchos elementos, ...
  #1 (permalink)  
Antiguo 18/03/2009, 09:56
 
Fecha de Ingreso: enero-2008
Mensajes: 125
Antigüedad: 16 años, 3 meses
Puntos: 0
Que tal, yo paginé unos resultados de una base de datos, son imagenes, y vienen de a 1, el problema esta cuando tengo muchos elementos, por ejemplo 50, y me aparecen 50 numeritos molestos en pantalla. Yo quería saber cual era la mejor forma de paginar a su vez los números estos. Por ejemplo, que aparezcan de a cada 10 números en pantalla y al tocar siguiente aparezcan los 10 números siguientes, para que no me aparezca toda la tanda de enlaces en pantalla de una vez. El código es:

Código PHP:
<?php
include("connect.php");
$registros 1
$pagina=$_GET["pagina"];
//veo si la variable pag esta definida, si no esta la mando a la primera pag
if (!$pagina) {
$inicio 0;
$pagina 1;
}
else {
$inicio = ($pagina 1) * $registros;
}
//saco total de registros
$resultados mysql_query("SELECT nombre FROM fotos where categoria='otras'");
$total_registros mysql_num_rows($resultados);
//pido los registros desde inicio hasta el limite $registros
$resultados mysql_query("SELECT nombre FROM fotos WHERE categoria='otras' ORDER BY nombre ASC LIMIT $inicio, $registros");
//cant de paginas necesarias
$total_paginas ceil($total_registros $registros);
//imprimo resultados

while(($foto=mysql_fetch_array($resultados))) {
if(
$pagina!=$total_paginas)
echo 
"<a href='otras.php?pagina=".($pagina+1)."'><IMG SRC=\"pics/otras/".$foto["nombre"]."\"/></br></a>";
else
echo 
"<center><IMG SRC=\"pics/otras/".$foto["nombre"]."\"/ border=0></br></center>";

}
//cuando mostrar enlace a pag "anterior""
if(($pagina 1) > 0) {
echo 
"<a href='otras.php?pagina=".($pagina-1)."'>< Anterior</a>";


//número de paginas "intermedias" a mostrar
for ($i=1$i<=$total_paginas$i++){
if (
$pagina == $i) {
echo 
"<b>".$pagina."</b> ";
} else {
echo 
"<a href='otras.php?pagina=$i'>$i</a> ";
} }
//cuando mostrar el enlace ""siguiente""
if(($pagina 1)<=$total_paginas) {
echo 
"<a href='otras.php?pagina=".($pagina+1)."'>Siguiente></a>";


?>

EDIT:

Código PHP:
//número de paginas "intermedias" a mostrar
for ($i=$pagina;$i<=$total_paginas$i++){
if (
$pagina == $i) {
echo 
"<b>".$pagina."</b> ";
} else {
echo 
"<a href='otras.php?pagina=$i'>$i</a> ";
}
if ((
$i-$pagina)>6)
break;

con eso me funcionó, pero me gustaría saber cuando toco anterior como veo la barra de los 6 numeros anteriores....

Última edición por juanf03; 18/03/2009 a las 11:36
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 19:32.