Dati i tuoi consigli ho risolto in parte i problemi, ma vedo le foto senza miniature, ovvero nel formato originale già nella pagina gallery.php
ti posto un po lo scritp della gallery
codice:
<?php
@include 'config.php';
@include 'function.php';

// apro la tabella che ci servirà per l'impaginazione
echo "<table>";

// recupero i dati dal DB
$query = "SELECT * FROM images ORDER By Id";
$res = mysql_query($query) or die (mysql_error());

// numero delle immagini presenti nel DB
$n_img = mysql_num_rows($res);

// verifico che il DB ospiti almeno un'immagine
if($n_img >= 1 ){
  // stabilisco il numero di riche e colonne della nostra tabella per l'impagninazione
  $colonne = 3;
  $righe=0;

  // ciclo tutti i record recuperati attraverso la nostra query
  while ($f=@mysql_fetch_array($res)){
    $righe++;
    $id = $f['Id'];
    $titolo = stripslashes($f['Titolo']);
    $nome = stripslashes($f['Nome']);
    $descrizione = stripslashes($f['Descrizione']);

    // stampo la cella contenente l'immagine
    echo "<td width=\"33%\">\n";
    echo $titolo . "
";
    echo "<a href=\"visual.php?id=" . $id . "\">";
    echo "<img src=\"" . $path_img . "" . $nome . "\" border=\"0\"></a>";
    echo "
" . $descrizione;
    echo "</td>\n";

    // quando il numero di righe equivale al valore impostato nella variabile $righe
    // procedo a chiudere la linea e ad azzerare il valore di $righe
    if ($righe == $colonne){
      echo "</tr><tr>\n";
      $righe = 0;
    }
  }
}else{
  // stampo un messaggio se il DB è vuoto
  echo "Nessuna immagine inserita.";
}
@mysql_close($cn);
echo "</table>";
?>