Foros del Web » Programando para Internet » PHP »

paginar

Estas en el tema de paginar en el foro de PHP en Foros del Web. holas, miren tengo un paginador "el que sale en www.ribosomatic.com/articulos/179/paginar-consultas-con-mysql-php-y-ajax/" esta en ajax pero bueno la consulta de la paginacion es en php... Primero < ...
  #1 (permalink)  
Antiguo 05/09/2007, 01:41
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Busqueda paginar

holas, miren tengo un paginador "el que sale en www.ribosomatic.com/articulos/179/paginar-consultas-con-mysql-php-y-ajax/"

esta en ajax pero bueno la consulta de la paginacion es en php...

Primero < pagina 1 > Ultimo

pero solo me la trae asi y si tengo 100 pagina y quiero ver la 50 tengo que ir de una en una, alguien sabe donde me puedo sacar un paginador de tipo

primero < 1 2 3 ... 10 11 12 13 ... 105 106 107 > Ultima

se lo agradeceria mucho :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 05/09/2007, 01:55
 
Fecha de Ingreso: junio-2007
Mensajes: 37
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: paginar

Busca en este foro hay muchisimos paginadores. Yo hice uno que saque precisamente buscando por aqui.

Un saludo
  #3 (permalink)  
Antiguo 06/09/2007, 02:00
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: paginar

pues solo he encontrado el de jpinedo y unos otros pero nada con lo que pido si me puedes poner un link te lo agradeceria
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 06/09/2007, 03:14
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: paginar

Yo creo que ese paginador hecho con AJAX ya te sirve. Lo único que tienes que hacer es adaptarlo a tus necesidades. No creo que sea muy complicado.

Un saludo
  #5 (permalink)  
Antiguo 06/09/2007, 03:31
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: paginar

gracias si he intentado pero no doy con elo te dejo mi codigo haber si me hechas una mano :)

Código PHP:
<?php
//me conecto y veo cuantos registrso por pagina debo mostrar...
//en este caso 10
 
require ('conexion.php');
 
$RegistrosAMostrar=10;

 
//estos valores los recibo por GET
 
if(isset($_GET['pag'])){
  
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
  
$PagAct=$_GET['pag'];
  
//caso contrario los iniciamos
 
}else{
  
$RegistrosAEmpezar=0;
  
$PagAct=1;
 }
 
?>
<?php
//******--------determinar las paginas, hago la consulta---------******//

 
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM articulos WHERE visible = 1",$con));
 
$PagAnt=$PagAct-1;
 
$PagSig=$PagAct+1;
 
$PagUlt=$NroRegistros/$RegistrosAMostrar;

 
//verifico si el residuo para ver si llevar decimales
 
$Res=$NroRegistros&#37;$RegistrosAMostrar;
 // si hay residuo uso floor para que me
 // devuelva la parte entera, SIN REDONDEAR, y le sumo
 // una unidad para obtener la ultima pagina
 
if($Res>0$PagUlt=floor($PagUlt)+1;
 

 echo 
"<font face=\"Verdana\" size=\"2\">";
 echo 
"<a onclick=\"Pagina('1')\" title=\"Inicio\"> &laquo; </a> ";
 if(
$PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\" title=\"Anterior\"> &lt; </a> ";
 echo 
"<strong>P&aacute;gina ".$PagAct."</strong>";
 if(
$PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\" title=\"Siguiente\"> &gt; </a> ";
 echo 
"<a onclick=\"Pagina('$PagUlt')\" title=\"Ultima\"> &raquo; </a>";
 echo 
"</font>";
?>
en una parte me sale mal #37; pero va esto
$Res=$NroRegistros%$RegistrosAMostrar;
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 06/09/2007, 03:42
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: paginar

Si te das cuenta, en los enlaces de paginación se llama a una función Pagina a la que se le pasa el número de página que se quiere visualizar. A partir de aquí, creo que es bastante trivial lo que quieres hacer.

Un saludo
  #7 (permalink)  
Antiguo 06/09/2007, 14:16
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: paginar

en realidad la funcion pagina es solo el ajax, que me carga el contenido en el div...

lo que yo no entiendo es como hacer los 1 2 3 ... 15 16 17 18 ... 58 59 60

que me haga esos saltos mostrando los primeros 3 registros y los ultimos 3 y al medio no se si se hara al azar :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #8 (permalink)  
Antiguo 06/09/2007, 14:27
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: paginar

Así a bote pronto, para calcular las páginas del medio, se me ocurre sacar la media del total de páginas, y añadir por delante y por detrás.

La teoría sería, si tienes 100 páginas:
Media: 50
Media - 2 = 48
Media + 2 = 52
Luego hacer un bucle que llegue de 48 a 52.
Habría que redonder la media con floor() o algo.

No sé si te ayudará algo esta idea.
  #9 (permalink)  
Antiguo 07/09/2007, 21:07
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: paginar

vamos a ver que sale :P si alguien tiene otra idea es bienvenida :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #10 (permalink)  
Antiguo 30/01/2008, 04:07
Avatar de jorjo  
Fecha de Ingreso: abril-2007
Ubicación: España
Mensajes: 90
Antigüedad: 17 años
Puntos: 1
Re: paginar

Yo lo hago así, y me salen un máximo de páginas abajo que yo quiera:

Código PHP:
if ($numPags > 1){ ?>
<table width="100%">
<tr><td colspan="5"><br></td></tr>
<tr>
    <td colspan="5" align="center">
    <?php
        
if ($pagina 1){
            
?> <a href="index.php?opcion=<?php echo $_REQUEST["opcion"]; ?>&pagina=<?php echo $pagina 1?>">Anterior</a>&nbsp&nbsp <?php
        
}
        for (
$i 1$i <= $numPags$i++){
            if (
$i == $pagina){
                echo 
"<b>".$i."</b>&nbsp&nbsp";
            }else{
                if ((
$i $pagina 6) && ($i $pagina 6)){
                    
?> <a href="index.php?opcion=<?php echo $_REQUEST["opcion"]; ?>&pagina=<?php echo $i?>"><?php echo $i?></a>&nbsp&nbsp <?php
                
}
            }
        }
        if (
$pagina $numPags){
            
?> <a href="index.php?opcion=<?php echo $_REQUEST["opcion"]; ?>&pagina=<?php echo $pagina 1?>">Siguiente</a> <?php
        
?>
    </td>
</tr>
</table>
<?php ?>
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 05:02.