paginazione,come nascondere le pagine?

Sto scrivendo uno script per la paginazione dei risultati ottenuti dal database, ma non ho la più pallida idea di come "nascondere" con dei ... le pagine centrali o quelle ai margini:

es :

11 pagine totali

pagina 1

[1], 2, 3 ... 9, 10, 11

1,[2], 3, ... 9, 10, 11

1, 2, [3], 4 ... 9, 10, 11

1, 2, 3, [4], 5 ... 9, 10, 11

1, 2, 3 ... 5, [6], 7 ... 9, 10, 11

1, 2, 3 ... 5, 6, [7] ... 9, 10, 11

e così via...

 :bye:

inviato 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Definisci prima con precisione l'algoritmo ovvero la logica che porterà alla creazione delle pagine. Poi devi individuare la pagina corrente e l'ultima pagina e poi una pioggia di IF e cicli FOR.

Tieni presente che un ciclo FOR con indici "sballati" non da errore ma semplicemente non cicla:

for ($i = 3; $i < 3; $i++)
{
   // queste sistruzioni non verranno mai eseguite
}

 :bye:

P.S.: Ricorda anche all'interno dei cicli puoi alterare il flusso delle istruzioni con i break e i continue.

risposto 9 anni fa
Gianni Tomasicchio
modificato 9 anni fa
X 0 X

mmh credo di aver capito, ma non come fare...

:bye:

risposto 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

per ora ho questo :

      if(($total/$limit)>1){
         $lastPage  = round($total/$limit);
         $pageLabel = $_GET['page'];
                     
         //echo $startArrow . ($pageLabel+1) . '-' . ($pageLabel+2) . '-' . ($pageLabel+3) . $endArrow;
               
         echo '<div id="pageList">';
            for($i = 0 ; $i < $lastPage ; $i++){
               $thisPage = $i;
               $pageClass = $pageLabel == $thisPage ? 'id="currentPage"' : 'class="normalPage"';
               if(($thisPage+1) == ($pageLabel+3)){
                  echo '<a href="/announces/page_'.($thisPage).'/">Avanti </a>';
                  echo '<a href="/announces/page_'.($lastPage-1).'/">Ultima pagina</a>';
                  break;
               }                           
               echo '<span '.$pageClass.' ><a href="/announces/page_'.($thisPage).'/">'.($thisPage+1).'</a></span>';            
            }
         echo '</div>';
       }

che mi mostra

1 2 Avanti ( va a pagina 3 ) Ultima Pagina ( va all'ultima pagina )

ma una volta che vado avanti mi acccade questo :

1 2 3 4 5 6

e non riesco a far "sparire" 1 2 3 e mettere

Prima Pagina Indietro 4 5 6

così alla fine vorrei ottenere :

Prima Pagina Indietro 11 12 13 Avanti Ultima Pagina

:bye:

risposto 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

prendi spunto da questa se vuoi:

http://www.guidoz.it/forum/viewtopic.php?t=451

 :bye:

risposto 9 anni fa
}gu|do[z]{®©
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda