Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    8

    Paginazione con numero pagine definito

    Ciao a tutti, stavo creando una lista di una tabella di un database attraverso la paginazione in php,
    E mi sono bloccato nel voler mostrare solo un numero definito delle pagine, mi spiego meglio:
    Mettiamo il caso io abbia 20 pagine e mi trovi nella 5, con il metodo che uso io per i link alle Pagine viene fuori:
    <Pagina precedente 1 2 3 4 [5] 6 7 8 ecc ecc fino a 20 Pagina successiva>
    se io volessi tipo volere un risultato del genere?:
    <Pagina precedente 2 3 4 [5] 6 7 8 Pagina successiva>
    qualcuno sa il metodo per avere una cosa simile?
    Ho cercato sul forum, ma non sono riuscito a trovare nulla..

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    beh se tu usi un il metodo get per richiamare le pagine
    $pag=$_GET['pag'];
    è la tua pagina corrente
    per cui
    Codice PHP:

    $pag
    =$_GET['pag'];
    $var_rw=$pag-3;
    $var_fw$pag+3;
    if(
    $pag <= 3){
    $var_rw=1;
    }
    if(
    $pag >= 17){
    $var_fw20;
    }


    for ( 
    $i=$var_rw$i <= $var_fw$i++ ) {
    if(
    $i == (int)$pag) {
    $numeri"[b]" $i "[/b] ";
    }
    else{
    $numeri="<a href=\"pagina.php?pag=" $i "\">" $i "</a> ";
    }
    echo 
    $numeri;

    la pagina corrente l'ho formattata in grassetto ma la puoi formattare come più ti piace...
    attento però devi porre le condizioni per gli estremi cioè nel momento in cui il numero di pagina è inferiore a 3 o superiore a 17 avrai una situazione di questo tipo
    e cioè
    esempioagina uguale a 1...secondo la formula sarà
    -2 -1 0 1 2 3 4
    e pagina uguale a 19
    16 17 18 19 20 21 22
    ora a seconda di come vuoi gestire l'estremità devi porre le condizioni...dipende da cosa vuoi far apparire tu...io per esempio ho impostato per i casi limite di far apparire i tre numeri successivi ma di non stampare 0 o numeri negativi o i tre numeri precedenti e di non stampare oltre 20 esempio
    pagina 2
    sarà
    1 2 3 4 5
    pagina 18 sarà
    15 16 17 18 19 20

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    8
    Da come ho capito basta settare in questo caso:
    Codice PHP:
    $var_rw=$pag-3;  
    $var_fw$pag+3
    Per avere visualizzati i primi tre numeri prima della pagina in questione e i tre numeri successivi?
    Se è così la modifica da fare è quasi nulla..
    Proverò a vedere stasera a casa!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    si giusto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.