Foros del Web » Programando para Internet » PHP »

Duda medio tonta con barra de navegación xD

Estas en el tema de Duda medio tonta con barra de navegación xD en el foro de PHP en Foros del Web. Tengo una barra de navegación 1 2 3 4 5 6 7 sgte para mostrar imágenes, el código es : Código PHP: <?php include( "connect.php" ...
  #1 (permalink)  
Antiguo 16/03/2009, 19:25
 
Fecha de Ingreso: enero-2008
Mensajes: 125
Antigüedad: 16 años, 3 meses
Puntos: 0
Duda medio tonta con barra de navegación xD

Tengo una barra de navegación

1 2 3 4 5 6 7 sgte para mostrar imágenes, 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>";


?>
El problema es que si tengo 50 fotos para mostrar, aparecen los 50 números en la barra de navegación, lo cuál es molesto porque arruina el diseño, como puedo hacer para que por ejemplo salgan en la barra de navegación cada 8 números y después un botón que me permita ver en la barra de navegación los siguientes 8 y asi, o sea, la idea es "limitar" la cantidad de números en la barra de navegación que estan en pantalla en un instante determinado.

Ej:

"anterior foto" 2 3 4 5 6 7 8 9 "siguiente foto" "otras>"

y que al tocar "otras>" aparezca

"<otras" "anterior foto" 10 11 12 13 14 15 16 17 18 "siguiente foto" "otras>"

vale aclarar que lo único que me falta agregarle son los botones de "<otras" y "otras>", lo demas ya lo tengo todo hecho y funcionando....
  #2 (permalink)  
Antiguo 16/03/2009, 20:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda medio tonta con barra de navegación xD

creo, que no es de poner números al azar... todo lleva una lógica

por ejemplo, si tienes 400 elementos y deseas ver cada 30 ... es fácil, simple aritmética...

Código:
numero_de_paginas = 400 / 30;

¿no crees??

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/03/2009, 22:54
 
Fecha de Ingreso: enero-2008
Mensajes: 125
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Duda medio tonta con barra de navegación xD

no, no me refería a eso, lo que quiero hacer que si por ejemplo tengo 50 fotos en la base de datos no quiero que en la barra de navegación tenga 50 elementos:

1 2 3 4 5 6 7 8 9 10 11 12 .................................................. 50

Yo quiero que haya un limite y que como dije arriba y como dije antes la barra se vea


"anterior foto" 2 3 4 5 6 7 8 9 "siguiente foto" "otras>"

y que al tocar "otras>" aparezca

"<otras" "anterior foto" 10 11 12 13 14 15 16 17 18 "siguiente foto" "otras>"

donde otras es la otra tanda de x cantidad de numeros....
  #4 (permalink)  
Antiguo 16/03/2009, 23:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda medio tonta con barra de navegación xD

mejor... simple lógica if-then-else

Código PHP:
// ciclo de enlaces

if ($indice <= 12) { /* imprimo */ }
else { break; }

// ... 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 11:18.