Foros del Web » Programando para Internet » PHP »

Mi paginador....

Estas en el tema de Mi paginador.... en el foro de PHP en Foros del Web. He visto por ahi el paginator o algo asi, y realmente no me he parado a mirar como funciona, pero lo veo mucha cosa... Bueno ...
  #1 (permalink)  
Antiguo 30/12/2004, 17:14
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
Mi paginador....

He visto por ahi el paginator o algo asi, y realmente no me he parado a mirar como funciona, pero lo veo mucha cosa...
Bueno en total, que yo me hice mi propio "paginator" cuando me surgió su necesidad ya que no caí en que podia haver un codigo por ahi ya existente.
Es el siugiente:
Código PHP:
function paginador($opcion,$ver,$loque,$tipo,$cant,$max,$first)
{            
            
$paginas=$cant/$max;
            
$paginas=(int)$paginas;
            
$sobrante=$cant%$max;    
            
$paginaActual=$first/$max;
            
$paginaActual=(int)$paginaActual;
                        
            for(
$i=0;$i<$paginas;$i++)
                {    
$primero=$i*$max;
                    echo 
"&nbsp;&nbsp;";
                    echo 
"<a href=index2.php?opcion=$opcion&ver=$ver&$loque=$tipo&primer=$primero><b>";
                    if(
$i==$paginaActual)
                    {    echo 
"[".($i+1)."]</b></a>";
                    }
                    else
                    {    echo (
$i+1)."</b></a>";
                    }
                }
            if(
$sobrante>0)
                {    
$primero=$i*$max;
                    echo 
"&nbsp;&nbsp;";
                    echo 
"<a href=index2.php?opcion=$opcion&ver=$ver&$loque=$tipo&primer=$primero><b>";
                    if(
$i==$paginaActual)
                    {    echo 
"[".($i+1)."]</b></a>";
                    }
                    else
                    {    echo (
$i+1)."</b></a>";
                    }
                }

Bueno... lo explico un poco, aunque soy consciente de que unicamente sirve para mi estructura de mi pagina ya que las variables opcion y ver son las que definen que pagina se abrirá, pero bueno eso se puede modificar al gusto de cada uno.
Amo a vé:
Las variables $opcion y $ver como ya he explicado definen que pagina se abrirà (en el index2.php recojo esas variables i decido que se hace).
Las variables $loque y $tipo tambien son cosa de los datos que uso en mis paginas, asi que se pueden prescindir de lo que es el funcionamiento de
la función. $loque contiene el nombre de otra variable, y el $tipo el valor
de esa variable.
Ahora si, $cant contiene el numero total de elementos que quiero paginar.
Por ejemplo, en el tema de un foro guardaré la cantidad de post's que
tiene en esta variable.
$max es el numero de elementos a mostrar por pagina.
$first contiene un int, que marcarà en una consulta sql externa a la
funcion el limite inferior (LIMIT $first,$max)
Luego una vez recibidos los valores, calculo cuantas paginas me saldrán:
$paginas=$cant/$max;
Con $paginas=(int)$paginas; me quedo con el valor entero de la division
(por si no lo fuera ya) y busco el residuo de esta para guardarlo en
$sobrante.
En $paginaActual guardo en que pagina estoy. Mas adelante lo usaré
para marcar visualmente en que pagina nos encontramos.
Pos eso... lo que viene luego no tiene misterio, un simple for q va
escribiendo los enlaces correspondientes, y si encuentra que ese enlace
que se dispone a escribir es el correspondiente a la pagina actual, lo
remarca con corchetes.

Luego a la hora de usarla, hay que tener en cuenta que en la pagina a usarla
hay que recibir la variable $first para usarla en la funcion sql del tipo
$result = mysql_query("select * from xxx WHERE esto=otro LIMIT $first,$max");

Y bueno esta es mi funcion que pagina resultados.
Seguramente tendrá menos funciones que las que hay por ahi, pero nose, la encuentro pequeña y sencilla para ir saliendo del paso. Ami de momento ma funcionado mu bien :D (jeje se nota que estoy orfugulloso de ella ;))
pos ale ahi la dejo pal que la quiera
Saludos!
  #2 (permalink)  
Antiguo 31/12/2004, 05:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Gracias por el aporte en nombre de los usuarios de forosdelweb ..

Como bien dices .. está adaptada a tus necesidades concretas ..pero, hasta tu mismo deberías diseñarte "cosas" más "versatiles" para que te puedan servir para otros proyectos. Por ejemplo el "Paginator" de Jpinedo es "genérico" .. tu le pasas cualquier sentencia SQL y la pagina además que tiene encuenta (muyyy importante) que hay que propagar todas las variables que pudieras requerir usar en el URL al crear los links de paginado además de las própias del paginado en sí para el control de este.

Con esto sólo quiero decir que "apuesto" por código más genérico que pueda ser "reusable". De todas formas .. tu ejemplo queda ahí.

Un saludo,
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 02:31.