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 
"
"
;
}
?>