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

    Paginazione: next page senza fine

    Ciao a tutti
    Da ieri cerco di paginare una tabella mysql mettendo massimo 10 records per pagina.
    Fino a qui tutto bene, riesco a limitare la query come voglio, il problema arriva però quando devo inserire i link alla pagina successiva e precedente: infatti se sono nella prima pagina il testo "<<precedente" non ha giustamente link, ma quando arrivo all'ultima pagina il testo "successive>>" continua ad avere il link e quindi ad aumentare la pagina all'infinito.

    Mi ci sto sbattendo la testa ma non trovo proprio l'errore, sembra tutto giusto.
    Mi son aiutato con il tutorial di questo sito, l'ho solo personalizzato per quello che mi serve.
    Vi posto il codice:
    Codice PHP:
    ############################
    ###     PAGINAZIONE      ###
    ############################


    // esecuzione prima query
    $query "SELECT * FROM com_allievi ORDER BY numero DESC" ;

    $result mysql_query($query)
        or die (
    "[Visualizzazione] Query fallita: " mysql_error() );

    $res_count_array mysql_fetch_array($result);
    $res_count count($res_count_array);

    // numero totale di records
    $tot_records $res_count[0];

    //risultati per pagina(secondo parametro di LIMIT)
    $per_page 10;

    //numero totale di pagine
    $tot_pages ceil($tot_records $per_page);

    // pagina corrente
    if (isset($_GET['page']))

        
    $current_page = (int)$_GET['page'];
    }
    else 
    {
        
    $_GET['page'] = 1;
        
    $current_page $_GET['page'];
    }

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page;

    //inizio tabella

        
    echo "<div align=center>
    "
    ;
        echo 
    "<table width=590 border=1>";
            echo 
    "<tr><td width=100 align=center bgcolor=#4592B5>";
            echo 
    "[b]Data 
     Comunicato[/b]"
    ;
            echo 
    "</td><td width=390 align=center bgcolor=#4592B5>";
            echo 
    "[b]Comunicati F.I.G.C.[/b]";
            echo 
    "</td><td width=100 align=center bgcolor=#4592B5>";
            echo 
    "[b]Apri[/b]";
            echo 
    "</td></tr>";

    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT numero,data FROM com_allievi ORDER BY numero DESC LIMIT $primo$per_page");
    while(
    $colonna mysql_fetch_array($query_limit)) {

            echo 
    "<tr><td width=100 align=center>";
            echo 
    "$colonna[data]";
            echo 
    "</td><td width=400 align=center>";
            echo 
    "COMUNICATO N. "$colonna['numero'];
            echo 
    "</td><td width=100 height=35 align=center>";
            echo 
    "[url="Allievi/Comunicati/$colonna[numero].pdf"]<img src=immagini/download.gif alt=download border=0 />[/url]";
            echo 
    "</td></tr>";    
            }
            
        echo 
    "</table>"
    Ed ecco i link in questione:
    Codice PHP:
        if($current_page == 1
        {
    // se siamo nella prima pagina
            
    $precedente "<< precedente";
        }
        else
        { 
    // altrimenti
            
    $previous_page = ($current_page 1);
            
    $precedente "<a href=?page=$previous_page><< precedente</a>";
        }
        
        if(
    $current_page == $tot_pages//L'ERRORE PENSO SIA QUI
        
    // se siamo nell'ultima pagina
            
    $successiva "successiva >>";
        } 
        else 
        { 
    // altrimenti
            
    $next_page = ($current_page 1);
            
    $successiva "[url="?page=$next_page>successiva"]>[/url]";
        }
        
    $paginazione "$precedente   $successiva";
        
        
    // in questa cella inseriamo la paginazione
        
    echo '<div align="center">
    '
    .$paginazione.'

    </div>'


    Aiuto per favore
    Grazie

  2. #2

  3. #3
    stasera lo leggo... grazie!

    Scriverò i risultati

    Ciaoo!!

  4. #4
    grazie mille
    Con un po di pazienza mi sono riscritto tutto e sono riuscito a farlo funzionare.

    Grazie.. ciao!

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.