Foros del Web » Programando para Internet » PHP »

Como paginar asi?

Estas en el tema de Como paginar asi? en el foro de PHP en Foros del Web. Hola necesitaria saber como paginar resultados de tal forma que tan solo mostrar 10 paginas,osea si estamos en la pagina "6" que veamos algo asi: ...
  #1 (permalink)  
Antiguo 18/09/2006, 05:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 87
Antigüedad: 18 años, 1 mes
Puntos: 0
Como paginar asi?

Hola necesitaria saber como paginar resultados de tal forma que tan solo mostrar 10 paginas,osea si estamos en la pagina "6" que veamos algo asi:

<< 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 >> etc..

osea que se cuando vallamos uno adelante,se restre uno a los antiguos...espero haberme explicado.

Gracias!
  #2 (permalink)  
Antiguo 18/09/2006, 08:24
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Mira esto:

Paginator (de Jpinedo)
http://jpinedo.webcindario.com/scripts/paginator/

Un saludo.
__________________
www.pensandoenred.com
  #3 (permalink)  
Antiguo 19/09/2006, 05:38
 
Fecha de Ingreso: febrero-2006
Mensajes: 87
Antigüedad: 18 años, 1 mes
Puntos: 0
Muchas gracias,pero no tengo ni idea de como hacerlo para que me muestre los 4 anteriores,el actual y los 5 proximos :(....no se como mostrar asi la paginacion,alguien sabe?

Muchas gracias de antemano por todo.

Saludos!
  #4 (permalink)  
Antiguo 19/09/2006, 05:58
 
Fecha de Ingreso: septiembre-2005
Mensajes: 70
Antigüedad: 18 años, 7 meses
Puntos: 0
Espero que te sirva este codigo que use en una pagina mia...

Código PHP:
$cantidad =; //Numero de resultados totales
$pages =; //Numero de paginas totales

    //CALCULAMOS LA VARIBALE INICIAL Y FINAL:
    
$margin floor($cantidad/2);    
    
//si se cunple vamos a tener que ir desplazando inicial.
    
if ($pages >= $cantidad){
        
//vamos moviendo inicial si llegamos a la mitad de la paginacion.
        
$start $_GET["pg"] - $margin;
        
//si sobrepasamos el margen y estamos en el limite mostramos tantas paginas como $limit.
        
if ($_GET["pg"] > ($pages $margin)) { $start $pages $cantidad; }
    }else {
$start 1;}
    
//si estamos por debajo del margen la inicial siempre 1.
    
if ($_GET["pg"] <= $margin){ $start 0;}
    
//si sobrepasamos total_paginas --> final = total_paginas.
    
$end $start + ($cantidad); if ($end >= $pages){$end $pages;}

    
    
// Definimos objetos: siguiente-previo
    
if($start 1){$objeto_previo "<b>Anterior</b>";}
    if(
$end $pages){$objeto_final "<b>Siguiente</b>";}

    
// Imprimimos los calculos
    
$paginacion .= "Páginas Totales ($pages)<br /><br />";

    
// Imprimimos objeto inicial

    
$ant $_GET["pg"] - 1;
    if(
$ant $start){
        
$paginacion .= "<a href='".$dir."/pagina-".$ant.".php' class='objeto'>".$objeto_previo."</a>";
    }
    
// Creamos el bucle e imprimimos los resultados
    
for($x $start$x <= $end$x++){
    
        
// Se nos presentan dos casos
        // Caso 1 - Pagina actual
        
if($_GET["pg"] == $x){
                    
$paginacion .= "<a href='".$dir."/pagina-".$x.".php' class='selected'>".$x."</a>";
        }else{ 
                    
$paginacion .= "<a href='".$dir."/pagina-".$x.".php'>".$x."</a>";
        }
    }
    
// Imprimimos objeto final
    
$end $_GET["pg"] + 1;
    if(
$end $start){
        
$paginacion .= "<a href='".$dir."/pagina-".$end.".php' class='objeto'>".$objeto_final."</a>";
    } 
Un saludo y espero que sea lo que buscas

Se me olvidaba... para mostrar la paginación <?=$paginacion ?>
  #5 (permalink)  
Antiguo 23/09/2006, 12:48
 
Fecha de Ingreso: febrero-2006
Mensajes: 87
Antigüedad: 18 años, 1 mes
Puntos: 0
Hola gracias,pero necesito paginar asi:

si son 20 paginas que se muestren asi:

1 - 2 - 3 - 4 - 5 - 6 -7 - 8 -9 - 10

*si estas en la 2:
2 - 3 - 4 - 5 - 6 -7 - 8 -9 - 10 - 11


Etc....nose como hacerlo realmente....
  #6 (permalink)  
Antiguo 25/09/2006, 04:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 87
Antigüedad: 18 años, 1 mes
Puntos: 0
nadie sabe como adaptar por ejemplo el paginator a ese estilo?
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 00:53.