Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 17-09-2008
David82 David82 is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
David82 Va por buen camino
Hola Guillermo, yo también estuve intentando "manejar" el dbpaginator y acabe dejandolo, no se controla bien el número máximo de paginas a mostrar, da problemas cuando utilizas otros elementos vcl...En fin, un montón de problemas. Lo que utilizo ahora es una función paginadora propia que me es más sencilla de utilizar, mira a ver si te sirve:

Código PHP:
function paginador($actual,$max,$path,$anterior,$siguiente,$uno,$dos,$tres,$pri,$ult,$saltoAnt,$saltoSig)
{
        
$max=ceil($max);
        if(
$max==1)
                {
                
$dos->visible=true;
                
$dos->caption="pág 1";
                
$dos->link="";
                
$uno->visible=false;
                
$tres->visible=false;
                
$siguiente->visible=false;
                
$anterior->visible=false;
                
$pri->visible=false;
                
$ult->visible=false;
                
$saltoAnt->visible=false;
                
$saltoSig->visible=false;
                }
        if(
$max==2)
                {
                
$uno->visible=true;
                
$tres->visible=true;
                
$siguiente->visible=true;
                
$anterior->visible=true;
                
$uno->caption="1";
                
$tres->caption="2";
                if (
$actual==1)
                        {
                        
$uno->link="";
                        
$tres->link=$path."2";
                        
$siguiente->link=$path."2";
                        
$anterior->link="";
                        }
                else
                        {
                        
$uno->link=$path."1";
                        
$tres->link="";
                        
$siguiente->link="";
                        
$anterior->link=$path."1";
                        }
                
$dos->visible=false;
                
$pri->visible=false;
                
$ult->visible=false;
                
$saltoAnt->visible=false;
                
$saltoSig->visible=false;
                }
        if(
$max>2)
                {
                
$uno->visible=true;
                
$dos->visible=true;
                
$tres->visible=true;
                
$siguiente->visible=true;
                
$anterior->visible=true;
                
$pri->visible=true;
                
$ult->visible=true;
                
$saltoAnt->visible=true;
                
$saltoSig->visible=true;
                if(
$actual==1)
                        {
                        
$anterior->link="";
                        
$siguiente->link=$path.($actual+1);
                        
$uno->caption=($actual);
                        
$uno->link="";
                        
$dos->caption=($actual+1);
                        
$dos->link=$path.($actual+1);
                        
$tres->caption=($actual+2);
                        
$tres->link=$path.($actual+2);
                        
$pri->link="";
                        
$ult->link=$path.$max;
                        
$saltoAnt->link="";
                        if(
$actual+3<$max)
                                {
                                
$saltoSig->link=$path.($actual+3);
                                }
                        else
                                {
                                
$saltoSig->link="";
                                }
                        }
                else
                        {
                        if(
$actual==$max)
                                {
                                
$anterior->link=$path.($actual-1);
                                
$siguiente->link="";
                                
$uno->caption=($actual-2);
                                
$uno->link=$path.($actual-2);
                                
$dos->caption=($actual-1);
                                
$dos->link=$path.($actual-1);
                                
$tres->caption=($actual);
                                
$tres->link="";
                                
$pri->link=$path."1";
                                
$ult->link="";
                                if(
$actual-3>'1')
                                        {
                                        
$saltoAnt->link=$path.($actual-3);
                                        }
                                else
                                        {
                                        
$saltoAnt->link="";
                                        }
                                
$saltoSig->link="";
                                }
                        else
                                {
                                
$anterior->link=$path.($actual-1);
                                
$siguiente->link=$path.($actual+1);
                                
$uno->caption=($actual-1);
                                
$uno->link=$path.($actual-1);
                                
$dos->caption=($actual);
                                
$dos->link="";
                                
$tres->caption=($actual+1);
                                
$tres->link=$path.($actual+1);
                                
$pri->link=$path."1";
                                
$ult->link=$path.$max;
                                if(
$actual-3>'1')
                                        {
                                        
$saltoAnt->link=$path.($actual-3);
                                        }
                                else
                                        {
                                        
$saltoAnt->link="";
                                        }
                                if(
$actual+3<$max)
                                        {
                                        
$saltoSig->link=$path.($actual+3);
                                        }
                                else
                                        {
                                        
$saltoSig->link="";
                                        }
                                }
                        }

                }

Los tres primeros parametros son la página actual, el número max de páginas y el path del link donde te lleva el paginador. El resto son las etiquetas del paginador.
A mi me hace un apaño, espero que te sirva.

Para mostrar los bloques de 10 en 10 yo lo hago en la sentencia SQL, poniendo limit X, 10; donde X es el valor de inicio que depende de la página actual.

Un saludo, David.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Borrar varios registros en un Dbrepeater David82 PHP 0 09-09-2008 13:40:37
paginador con C#.NET foetus .NET 4 06-06-2008 21:43:35
Puede alguien recomendarme algun buen javascript obfuscator ? rubencho HTML, Javascript y otros 35 12-09-2007 01:02:50
d4php No funciona en la web brandolin PHP 2 06-07-2007 18:57:20
Paginador PHP con BD en Postgresql Diavlo PHP 2 27-07-2006 11:46:56


La franja horaria es GMT +2. Ahora son las 22:49:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi