Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/04/2009, 03:58
Avatar de Kamae
Kamae
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Paginacion no funciona, un poquito de porfavor !

Intenté seguir tu código pero me perdí.. no entiendo algunas cosas, pero si te sirve, te pego un trozo de un código que hice para una especie de helpdesk y que funciona correctamente:

Código PHP:
    $maxPag=15;  // Definimos que habrá 15 registros por cada página
    
if(!isset($_GET["page"])){  // Si no ha pulsado ninguna página...
        
$_GET["page"]=1;      // ...simulamos que ha pulsado la primera
    
}

    
$pagTotal=$cont/$maxPag// $cont es el número de registros que hay en la consulta, dividido por los registros por página del $maxPag obtenemos cuantas páginas necesitamos
    
if ($pagTotal!=(int)$pagTotal){ // Si el $pagTotal nos ha quedado con decimales...
        
$pagTotal=(int)$pagTotal+1// ... lo redondeamos a la alza siempre
    
}
    echo 
"< Pàgina ";
    
$i=0;
    while((
$pagTotal-$i)>0){  // metemos las páginas en un array $pag[] para trabajar más cómodos
        
$pag[($pagTotal-$i)]=$pagTotal-$i;
        
$i++;
    }
    
$i=1;
    while(isset(
$pag[$i])){
        if(
$_GET["page"]==$pag[$i]){ // Si se trata de la página pulsada no tendrá link porque es la actual
            
if(@$pag[($i+1)]>0)   // Si la página siguiente existe, pondrá la página seguido de un guión
                
echo '<b>'.$pag[$i].'</b> - ';
            else   
// Si la página siguiente no existe, es la última y por lo tanto sin guión
                
echo '<b>'.$pag[$i].'</b>';
        }
        else if( isset(
$pag[($i+1)]) && $pag[($i+1)]>){ // Cuando son las páginas distintas a la que hemos pulsado, tendrán un link hacia esa página. Además, si existe la siguiente página le escribirá un guión detrás del número de página
            
echo '<a href="pagina.php?page='.$pag[$i].'" style="text-decoration:none;">'.$pag[$i].'</a> - ';
        }else{ 
// Igual que lo anterior pero sin el guión, puesto que es la última página
            
echo '<a href="pagina.php?page='.$pag[$i].'" style="text-decoration:none;">'.$pag[$i].'</a>';
        }
        
$i=$i+1;
    }
    echo 
' >';

Resultado en mi caso:

Si tuviéramos una consulta que devuelve 110 registros y tenemos puesto que son 15 por página, e imaginándonos que estamos en la página 3, se vería así:

< Pàgina 1 - 2 - 3 - 4 - 5 - 6 - 7 >

La página 3 que está en negrita no tendría link, y el resto tendría un link hacia su página


Espero que te sirva, saludos