Ciao, grazie per la risposta.
Ho provato ad adattare il codice al mio, ma non ci sono riuscito, il risultato ottenuto non è quello sperato..

Ecco cosa ho fatto, questa è galleria.php:
Codice PHP:
      //Conto quanti record sono presenti nella table
$count mysql_query("SELECT COUNT(ID) FROM galleria");
$res_count mysql_fetch_row($count);
$tot_records $res_count[0];


//Risultati per pagina(secondo parametro di LIMIT)
$ris_for_row=$_POST['righe'];
$ris_for_col=$_POST['colonne'];
$ris_for_page $ris_for_row*$ris_for_col;

//Function ceil arrotonda al primo valore interno più alto
$tot_pages ceil($tot_records $ris_for_page);
//DEBUG
echo "Tot records: ".$tot_records." Ris for page: ".$ris_for_page." Tot pages: ".$tot_pages;

//Setto la pagina corrente
if (!$_GET['page']) {
$current_page 1;
}
else 
$current_page $_GET['page'];

//Setto var di sessione da usare nella pagina di paging
$_SESSION['tot_pages']=$tot_pages;
$_SESSION['current_page']=$current_page;

//primo parametro di LIMIT
$first_limit=($current_page-1)*$ris_for_page;



//Query con LIMIT
$query_limit mysql_query("SELECT ID, link, Descrizione FROM galleria LIMIT $first_limit$ris_for_page");

//Scorro l'array fino in fondo
$n=0;
while (
$n $tot_records) {
echo 
"<tr>";

//A seconda della quantità di oggetti per riga, ciclo il fetch dei risultati all'interno di un ciclo for
for ($i=0;$i<$ris_for_row;$i++) {
$results mysql_fetch_assoc($query_limit);
echo 
"<td>";
echo 
"<a href=\"page.php?ID=" $results['ID'] . "\"></a>";
echo 
"<td wIDth=\"33%\">\n";

      echo
"<div align='center'>"
      
      echo 
'<img width="200" height="160" style="cursor: -moz-zoom-in;"  img src="'.$results['link'].' " onclick="this.width=596;this.height=435;" ondblclick="this.width=200;this.height=160;"/>';

    echo
"</div>";
      echo
" <font size='4' color='yellow'>";
      echo
"    <b>"  ;
      echo 
"<br />" .$results['Descrizione'];
      echo 
"</b>";
      echo 
"</font>";
      echo 
"</td>\n";


$n++;
}

echo 
"</tr>\n";
}


//includo il file contenente la paginazione
include("paginazione.php");

echo 
"<div align=\"center\">";
echo 
"".$paginazione;
echo 
"</div>";
mysql_close();

?> 

e questa paginazione.php
Codice PHP:
<?php

//Recupero le variabili settate nella pagina di "principale"
$current_page=($_SESSION['current_page']);
$tot_pages=($_SESSION['tot_pages']);

//Se siamo nella prima pagina
if ($current_page == 1) {
$prev "<< prev";
}
   else {
$previous_page = ($current_page 1);
       
$prev "<a href=\"page.php?page=$previous_page\" title=\"Previous\" TARGET=\"_parent\"><< prev</a>";
   }

//Creo la lista  
$list="[ ";
for(
$i 1$i <= $tot_pages$i++) {
       if(
$i == $current_page) {
               
$list$list $i " ";
       }
       else {
        
$list$list "<a href=\"page.php?page=$i\" title=\"Vai alla pagina $i\" TARGET=\"_parent\">$i</a> ";
       }
}
$list$list "]";

//Se siamo nell'ultima pagina
if($current_page == $tot_pages)
$next "next >>";
       else
       {
               
$next_page = ($current_page 1);
               
$next "<a href=\"page.php?page=$next_page\" title=\"Next\" TARGET=\"_parent\">next >></a>";
       }

//Compongo la stringa da mostrare
$paginazione "$prev &nbsp&nbsp&nbsp $list &nbsp&nbsp&nbsp $next";
?>
Se vado ad inserire come numero righe e numero colonne 3, mi deve stampare 9 imamgini, e lo fa, solo che mi stampa altre 3 celle (cosa che non dovrebbe fare) anche perchè
Tot records: 12 Ris for page: 9 Tot pages: 2

quindi deve farmi 2 pagine, ma questo non avviene...

Dove sbaglio?

Grazie!