Succede questo perchè la città viene passata tramite POST. Al momento in cui viene caricata la pagina nuovamente i dati nella variabile POST vengono persi.

Poi mi sembra uno spreco scriviere due volte la stessaparte di codice cambiando solo una parte della query...

Se mi dai un attimo le posto il codice che utilizzerei io

EDIT:
Ecco il codice che utilizzerei io:

Codice PHP:
$citta_scelta $_GET['citta'];

$connessione mysql_connect("localhost","root","");

$db mysql_select_db("db",$connessione);

// impongo una visualizzazione di 8 immagini per pagina
$numero_record 8;
if(!isset(
$_GET["inizio"])){
    
$inizio 0;
}else{
    
$inizio $_GET["inizio"];
}

//se non e' stata scelta nessuna citta' oppure tutte le citta', carico tutti i dati
$strsql "SELECT * from tabella ";
if (
$citta_scelta == '' || $citta_scelta == 'tutte')
{
    
$strsql .= "WHERE citta = '$citta_scelta' ";
}
$strsql . = "LIMIT $inizio,$numero_record";
$query mysql_query($strsql);


$strsql2 "select * from tabella";
$query2 mysql_query($strsql2);

$numero_record_totali mysql_num_rows($query2);

//visualizzo i risultati della query
while($scatola_temporanea mysql_fetch_array($query)){

    
$thumb         $scatola_temporanea['id']."thumb.jpg";
    
$name        "disegno_0".$scatola_temporanea['id'];
    
$articolo    $scatola_temporanea['articolo'];
    
$bottone    "bottone_0".$scatola_temporanea['css'];
    
$immagine    "immagine_0".$scatola_temporanea['css'];

    echo 
"<div id=$immagine><img src=\"images/$thumb\"></div>";
    echo 
"<div id=$bottone><form name=$name action=\"bottoni.php\" method=\"post\">
<input type=\"submit\" name=\"button\" value=
$articolo>
</form></div>"
;

//fine ciclo while che scorre la query e piazza i risultati nell'array temporaneo

// calcolo il numero delle pagine necessarie

$numero_pagine ceil($numero_record_totali/$numero_record);

// calcolo di quante pagine necessiti

echo "<div id=\"pagine\">";

if(
$numero_pagine 1){
    for(
$pagina 1$pagina <= $numero_pagine$pagina++){
        if(
$pagina == $pagina_corrente){
            echo
".$pagina.";
        }else{

            
$link_pag "<a id=\"link\" href='visualizza.php?";
            if (
$citta_scelta == '' || $citta_scelta == 'tutte')
            {
                
$link_pag .= "citta=$citta_scelta&";
            }
            
$link_pag .= "inizio=".(($pagina 1) * $numero_record)."'> Pag".$pagina."[/b]</font></a>";

            echo 
$link_pag;
        
        }
    }
}

echo 
"</div>";

echo 
"<div id=\"pagina_di\">";

$pagina_attuale=(($inizio/8)+1);

echo 
"[b]Pagina ".$pagina_attuale;
echo 
"[/b] di ".$numero_pagine;

echo 
"</div>";

mysql_free_result($query);
mysql_free_result($query2);

//inserisco il form per la scelta delle citta'
$query_citta "select * from tabella_citta ORDER BY citta ASC";

$dbResult mysql_query($query_citta);

echo 
"<div id=\"scelta_citta\">";

echo 
"<form method=\"get\" action=\"visualizza.php\">";

echo 
"<select name=\"citta\">\r\n";

echo
"<option value=\"\">Choose a city</option>";

if (
$query !== FALSE){

    while(
$row=mysql_fetch_array($dbResult)){

        
$row['citta'] = htmlspecialchars ($row["citta"], ENT_QUOTES);

        echo 
"<option value=\"$row[citta]\">$row[citta]</option>\r\n";
    }
}

echo
"<option value=\"tutte\">Display all cities</option>";

echo 
"</select>\r\n";

echo 
"   <input type=\"submit\" name=\"Invia\" value=\"Invia\">";

echo 
"</form>";

echo 
"</div>";

mysql_close($connessione); 
Prova e fammi sapere