Intanto se ne vuoi uno funzionante di giro il mio:
"paginazione.inc.php"
Codice PHP:
<?php

function pagination_3($total_pages,$page,$webpage){ //imposto la mia $webpage come parametro formale
        
$pagination ""
    if(
$total_pages!=1){ 
        if(
$page>'1'
            { 
          
$pagination.="[url=".$webpage."][size="1"]Prima[/size][/url] 
                                 [url="
.$webpage."]Precedente[/url]"
            } 

        
//Impostiamo il massimo numero di links di partenza da visualizzare nella pagina. 
             
$maximum_links 10

          
//Se sono necessarie meno pagine rispetto al numero massimo 
           
if($total_pages<=$maximum_links
            { 
               
//Il numero massimo di links che occorreranno saranno pari al numero totale di pagine + 1 
                
$maximum_links $total_pages+1
            } 
            
//Se ne sono necessarie di piu, allora: 
           
else{ 
                  
//$maximum_links +1 
                  
$maximum_links=$maximum_links+1
                   if(
$page>=$maximum_links){ 
                       
$maximum_links=$page+1
                    } 
              } 

        for (
$i=1;$i<$maximum_links;$i++) 
               { 

                   if(
$i==$page){ 
                
$pagination.="<a>".$i."</a>"
            } 

            else{ 
                
$pagination.= "[url=".$webpage."]".$i."[/url]"
                        } 
        } 

            
//next e ultima pagina; 

        
if(($page >="1")&&($page!=$total_pages)){ 
            
$pagination.= "[url=".$webpage."]Successiva[/url] 
                                        [url="
.$webpage."][size="1"]Ultima[/size][/url]"
        } 

    } 
    else{ 
        
$pagination.=""
    } 
    return(
$pagination); 



//il risultato di questa paginazione è il seguente :
//prima PREV 1 2 3 4 5 6 7 8 9 10 Next ultima 

?>
Poi nella pagina dove voglio che compaia la paginazione metto queste cose:

Codice PHP:
<?php
        
require "include/paginazione.inc.php";
        
$webpage basename($_SERVER['PHP_SELF']);
        
$page = (!isset($_GET['page']))? $_GET['page'];
        
$queryprima=oci_parse($con,"select count(*) from cons_esami_assegnare where sede='$sede_utente'");
        
oci_execute($queryprima);
        while ((
$ris=oci_fetch_array($queryprimaOCI_ASSOC))){
    foreach (
$ris as $pippo){
             }
           }
    
$max_results 10;//numero di elementi da visualizzare per pagina.
    
$total_results $pippo;
    
$total_pages ceil($total_results $max_results);
    
$from = (($page $max_results) - $max_results);
    
$a= ($max_results $page);
             
$query_tab1=oci_parse($con"select r, c1, c2, c3, c4, c5, c6, c7 from (select rownum r, ..... from cons_esami_assegnare where sede='$sede_utente' and rownum <= $a)
where r > 
$from");    
oci_execute($query_tab1);
while ((
$riga=oci_fetch_array($query_tab1OCI_NUM OCI_RETURN_NULLS))){
echo (
"<tr><td align='center'>".$riga[1]."</td><td align='center'>".$riga[2]."</td><td align='center'>".$riga[3]."</td><td align='center'>".$riga[4]."</td><td align='center'>".$riga[5]."</td><td align='center'>".$riga[6]."</td><td align='center'>".$riga[7]."</td></tr>\n");
}    
echo(
"</tbody>");
echo(
"<tfoot><tr><td colspan='7'></td></tr>");
echo (
"<tr><td align='center' colspan='7'>".pagination_3($total_pages$page$webpage)."</td></tr>");
?>
Il mio db è oracle...ma puoi adattarlo tranquillamente a mysql (se usi qst).
Cmq le grosse differenze tra i due sono nel conto dei record che restituisce la query. Io ho dovuto fare una query con la count mentre tu potresti usare tranquillamente mysql_num_row. Altro cosa diversa è che io ho dovuto usare rownum nella query ma tu puoi usare tranquillmamente limit
Spero di esserti stata utile...
Se non ti funge, non lo capisci o semplicemente vuoi sistemare il tuo posta il codice
Ciao ciao