ciao,
ho due form select in cui con il php mi estraggo in un ciclo while i dati contenuti in due tabelle.
nella tabella continenti ho 2 campi:

id_continente / valore_continente

1 africa
2 Latin America
3 asia
4 europa

nella tabella nazione ho 3 campi:
id_nazione, id_continente, valore_nazione.

l'id_nazione è autoincrement , l'id_continente è il valore corrispondente al continente cui la nazione fa parte, valore_nazione è il nome della nazione.

quello che vorrei fare è quando seleziono i continenti mi escano nella seconda combo le nazioni correlate.

ho questo script:
codice:
<html>
<head>
</head>
<body>
        <script language="Javascript">
var IdxsC = new Array();
var OptsN = new Array();

var oOpt;

<?php
include("../pannello/dbconnect.php");

$queryC = "SELECT * FROM continente";
$resultC = mysql_query($queryC) or die(mysql_error());

for ($idxC=0; $datiC = mysql_fetch_array($resultC); $idxC++) {
?>

{
    IdxsC[<?=$idxC?>] = <?=$datiC["id_continente"]?>;
    OptsN[<?=$idxC?>] = new Array();

<?php
    $queryN = "SELECT * FROM nazione WHERE id_continente = ".$datiC["id_continente"];
    $resultN = mysql_query($queryN) or die(mysql_error());

    for ($idxN=0; $datiN = mysql_fetch_array($resultN); $idxN++) {
?>

    {
        oOpt = document.createElement("option");
        oOpt.value =<?=$datiN["id_nazione"]?>;
        oOpt.text = <?=$datiN["valore_nazione"]?>;
        OptsN[$idxC][$idxN] = oOpt;
    }

<?php
    }
?>

}

<?php
}
?>

function GetOptions(idxC) {
    for(var idx=0; idx<IdxsC.length; idx++) {
        if(IdxsC[idx] == idxC) {
            return OptsN[idx];
        }
    }
    return new Array();
}

function nazione(selezionata) {
    var Opts = GetOptions(selezionata);

    document.form1.seconda.options.length = 0;

    var oOpt = document.createElement("option");
    oOpt.value = "";
    oOpt.text = "";
    document.form1.seconda.options[0] = oOpt;

    for(i=0; i<Opts.length; i++) {
        document.form1.seconda.options[i+1] = Opts[i];
    }
}

        </script>


<form name="form1">
<select name="prima" onChange="nazione(this[this.selectedIndex].value)">
<?php

echo "<option value=\"\"></option>"; 
$query = "SELECT * FROM continente";
$result = mysql_query($query) or die(mysql_error());
while ($dati = mysql_fetch_array ($result)) {
    echo "<option value=\"".$dati['id_continente']."\">".$dati['valore_continente']."</option>\n";
}
?>
</select>

<select name="seconda"> </select>

</form>

</body>
</html>
solo che non riesco a far uscire le nazioni nella combo...
dov'è che sbaglio?
grazie.