Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Paginazione con numero pagine limitato

    Ciao a tutti.
    Cercando su internet ho modificato il seguente file, che una volta richiamato effettua la paginazione in questo modo:
    Per 5pagine fa: <<Precedente [1 2 3 4 5] Successivo>>

    Ora io vorrei ad esempio che se le pagine fossero 100, non comparissero tutte e 100.
    Come si può modificare?
    Grazie!

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

    /* come noti il link sia verso la pagina precedente sia verso quella successiva deve contenere il parametro GET "elencotabelle" */ 

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


    $paginazione2 "Pagine totali: " $tot_pages "
    ["
    ;
    for(
    $i 1$i <= $tot_pages$i++) {
    if(
    $i == $current_page) {
    $paginazione2 .= $i " ";
    } else {
    $paginazione2 .= "<a href=?elencotabelle=$elencotabelle&page=$i\" >$i</a> ";
    }
    }
    $paginazione2 .= "]";

    $paginazione "$precedente ".$paginazione2.   $successiva"

  2. #2
    Se non ho fatto errori (dubito) col seguente codice dovresti vedere sempre due pagine indietro e due avanti

    Codice PHP:
    for($i $current_page <1:$current_page $i <= $tot_pages && $i<=($current_page+<5$current_page+); $i++) 

  3. #3
    Funge!
    Non dubitavi infatti.
    Grazie!

  4. #4
    mmmmhhhh

    Pero' mi sa che quando arrivi verso la 100esima pagina ti fa vedere le ultime due e non le ultime 5

    forse cosi' e' meglio

    Codice PHP:
    for($i $current_page <1: ($current_page $tot_pages -5?  $current_page $tot_pages -5); $i <= $tot_pages && $i<=($current_page+<5$current_page+); $i++) 
    PS
    tutti quegli operatori ternari si possono tradurre in if per aumentare la leggibilita', se vuoi

  5. #5
    ora mi dà il seguente errore

    Parse error: parse error in c:\programmi\easyphp1-8\www\listino5\paginazione_2.php on line 23


  6. #6
    forse perche' il forum traduceva questo

    : (

    con questo



    ho editato ad ogni modo

  7. #7
    Cmque ho provato a popolare la tabella in modo da avere più di 100 pagine, e sembra fungere anche con il primo metodo.

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.