Avevo anke io un problema simile...ho usato un codice così...prova:

Codice PHP:
 <select name="provincia" onChange="inviaCambiamenti()">
                  <?
        $query
="SELECT DISTINCT provincia FROM tabella order by 'provincia'";
        
$result mysql_query($query);
        echo 
"<option value=\"\">Seleziona</option>";
        while(
$row mysql_fetch_assoc($result))
        {
            if(!empty(
$provincia))
            {
                if (
$row[provincia]<>$provincia)
                {
                    echo 
'<option value="'.$row[provincia].'" >'.$row[provincia].'</option>';
                }
                else                    
                {
                echo 
'<option value="'.$row[provincia].'" SELECTED>'.$row[provincia].'</option>';
                }
            }
            else 
            {
                echo 
'<option value="'.$row[provincia].'">'.$row[provincia].'</option>';
            }
        }
    
?>
                </select>


<select name="comune">
                  <?
        $query
="SELECT DISTINCT comune FROM tabella WHERE provincia='$provincia' order by 'comune'";
        
$result mysql_query($query);
        echo 
"<option value=\"\">Seleziona</option>";
        while(
$row mysql_fetch_assoc($result))
        {
            if(!empty(
$comune))
            {
                if (
$row[comune]<>$comune)
                {
                    echo 
'<option value="'.$row[comune].'" >'.$row[comune].'</option>';
                }
                else                    
                {
                echo 
'<option value="'.$row[comune].'" SELECTED>'.$row[comune].'</option>';
                }
            }
            else 
            {
                echo 
'<option value="'.$row[comune].'">'.$row[comune].'</option>';
            }
        }
    
?>
                </select>
Funzione inviaCambiamenti (la metti nell'head):

codice:
<script language="javascript">

function inviaCambiamenti(){
	document.form1.action = "<?php echo $PHP_SELF; ?>";
	document.form1.submit();
}

</script>
Quest'esempio te l'ho fatto nel caso tu abbia una sola tabella...nel caso ne abbia due devi solo modificare le query...

Spero di esserti stato d'aiuto...