Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2009, 09:56
juanf03
 
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