Beh intanto non serve fare due query, giacche' sono identiche a parte il nome del campo. Fai una sola query e costruisci un array bidimensionale per tenere traccia dei posti gia' occupati, quando stampi la tabella controlli l'array dando le "coordinate" del posto.
Non testato e passibile di errori causa stanchezza 
Codice PHP:
<?php
$prenotazioni = array();
$query = "SELECT row, seatrow FROM prenotation WHERE id_show=$show";
$result = mysql_query($query) or die (mysql_error());
while ($row = mysql_fetch_array($result)) {
$prenotazioni[$row['row']][$row['seatrow']] = true;
}
for ($r=1; $r<=$righe; $r++) {
for ($c=1; $c<=$colonne; $c++) {
if ($prenotazioni[$r][$c]) {
echo "<img src=\"poltrona2.jpg\">";
} else {
echo "<input name=\"posizione\" type=\"checkbox\" value=\"Colonna:$c Fila:$r\"/>";
}
}
echo "
";
}
?>