ciao a tutti
so che è un argomento trattato di frequente, ma spero possiate aiutarmi a personalizzare la mia paginazione dei dati

guardando l'articolo in questo sito sono riuscito ad ottenere una paginazione che mostra tutti i numeri di pagine disponibili, con questo codice:

codice:
function generate_links($page)
{
      include('include/config.inc.php');
      
      // esecuzione prima query
$count = mysql_query("SELECT COUNT(id) FROM link");
$res_count = mysql_fetch_row($count);

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

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

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

// pagina corrente
//$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

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

//echo "<div align=\"center\">\n<table>\n";

      
      $qlinks = "SELECT * FROM link LIMIT $primo,$per_page";
   
      $qlinksexe = mysql_query($qlinks) or die("Errore Home Message: " . mysql_error());
      
       while( $row = @mysql_fetch_assoc($qlinksexe) ) 
       {    
            $links .= implode("",file($template_dir."links_exchange.tpl"));
            $links = eregi_replace("", $row['titolo'], $links);
            $links = eregi_replace("", $row['indirizzo'], $links);
            $links = eregi_replace("", $row['descrizione'], $links);
            
       }
       $paginazione = "Pagine totali: " . $tot_pages . "[";
       for($i = 1; $i <= $tot_pages; $i++) 
       {
            if($i == $current_page) 
            {
                $paginazione .= $i . " ";
            }
            else 
            {
                $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
            }
       }
       $paginazione .= "]";
       $links .= $paginazione;
       
       return $links;
}
questo mi stampa un risultato di paginazione cosi:
codice:
Pagine totali: 2[1 2 ]
che ci sta dentro ma non è quello che vorrei ottenere io.
mi piacerebbe ottenere un qualkosa del tipo:

se mi trovo da pagina 1 a pagina 3:

1 2 3 4 5 ...>

da pagina 4 in poi mi piacerebbe ottenere qualkosa del genere:

<.. 2 3 4 5 6 ..>

poi all'ultima pagina disponibile, facciamo un esempio se l'ultima pagina possibile fosse la 7 vorrei ottenere qualkosa cosi:

<.. 3 4 5 6 7

spero tanto possiate aiutarmi
vi ringrazio anticipatamente
ciao
punkrazio