Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2004, 17:14
clinisbut
 
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!