ho risolto:
Codice PHP:
  <script>    
 var provinciadb = new Object()
  var comunedb = new Object()
<?php 
for ($i=1;$i<=20 ;$i++ )
{
?>
provinciadb[<?php echo $i;?>]  = [ <?php 
            $result 
province($i);    
            
$virgola="0";
            while (
$province mysql_fetch_array($result)){
                if(
$virgola>"0"){echo ",";}
                echo 
"{value:\"".$province[0]."\", text:\"".$province[1]."\"}";
                
$virgola=++$virgola;
            }
            
?>];  
<?php ?>
function setProvincia(chooser) {
    var newElem;
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    var provinciaChooser = chooser.form.elements["provincia"];
    while (provinciaChooser.options.length) {
        provinciaChooser.remove(0);
    }
    var choice = chooser.options[chooser.selectedIndex].value;
    var db = provinciadb[choice];
    if (choice != "") {
        for (var i = 0; i < db.length; i++) {
            newElem = document.createElement("option");
            newElem.text = db[i].text;
            newElem.value = db[i].value;
            provinciaChooser.add(newElem, where);
        }
    }
}
</script>
in pratica il php scrive javascript. unica cosa che se voglio aggiungere i comuni questi devono essere caricati tutti in un colpo con questo sistema e caricare più di 8000 comuni rende il caricamento della pagina eterno.

avevo gia visto la soluzione ajax+php solo che conoscendo solo php la trovavo un po complicata. :P

comunque mi sa che mi butto sulla possibilità che mi hai indicato.

ciao e grazie