Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    aiuto query paginazione

    salve a tutti.
    Ho realizzato questa funzione per la paginazione degli articoli.
    Ho un piccolo problema.. non riesco a limitare il numero di pagine.

    Codice PHP:
        $paginazione="";
        if(
    $current_page == 1) { // se siamo nella prima pagina
        
    $precedente "";
        } else { 
    // altrimenti
        
    $previous_page = ($current_page 1);
        
    $precedente "<a href=\"$stringa&page=$previous_page\" title=\"Vai alla pagina precedente\">Precedente</a>";
        }

        if(
    $current_page == $tot_pages) { // se siamo nell'ultima pagina
        
    $successiva "";
        } else { 
    // altrimenti
        
    $next_page = ($current_page 1);
        
    $successiva "<a href=\"stringa&page=$next_page\" title=\"Vai alla pagina successiva\">Successiva</a>";
        }
        
    $paginazione.= "$precedente ";

        for(
    $i 1$i <= $tot_pages$i++) {
        if(
    $i == $current_page) {
        
    $paginazione .= $i " ";
        } else {
        
    $paginazione .= "<a href=\"$stringa&page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
        }
        }
        
    $paginazione .= "$successiva";

    echo 
    $paginazione
    Il risultato attuale è il seguente:

    Codice PHP:
    Precedente 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 Successiva 
    Mentre io vorrei il seguente risultato:
    Codice PHP:
    Precedente 1 2 3 4 5 6 7  Successiva 
    Poi quando clicco su 5 o 6 o 7 si sposta il numero di pagine Es. premendo 5
    Codice PHP:
    Precedente 3 4 5 6 7 8 9  Successiva 
    qualcuno riesce ad aiutarmi?
    grazieeeeeee :master:

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ovviamente ti scrive tutte le pagine perché il ciclo lo fai così
    for($i = 1; $i <= $tot_pages; $i++)
    ovvero parti da 1 e continui fino al numero totale delle pagine.

    Dovresti invece distinguere diversi casi, ovvero:

    - se sei nelle prime 4 pagine:
    for($i=1; $i<8; $i++)
    che ti stampa da 1 a 7

    - dalla 5° in poi:
    for($i=$current_page - 2; $i<$current_page+5; $i++)
    che ti stampa da 2 pagine prima di quella attuale fino a 4 successive (in totale 7)

    - se sei nelle ultime 4 pagine:
    for($i=$tot_pages - 6; $i<=$tot_pages; $i++)
    che ti stampa sempre le ultime 7 pagine

    Ovviamente questo considera che ci siano almeno 7 pagine.

    Ho scritto al volo senza provare nulla, ma la logica dovrebbe esserci.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    Ho provato ma mi va in errore...

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Che errore ti da?
    Quella che ti ho scritto io è la logica con cui stampare i numeri delle pagine, tu il codice come lo hai scritto?

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.