Eccola,
codice:
<select name="CAMPO_PADRE" class="box" size="1" style="width: 100%" onchange="elabora();">
<?
$QUERY = "Select nomecampo FROM nometabella ";
$RES = mysql_query($QUERY) or die("Query non valida");
echo "<OPTION VALUE=\"0\">Seleziona</OPTION>";
WHILE ($ROW = mysql_fetch_array($RES)) {
echo "<OPTION VALUE=\"".$ROW[id]."\"";
IF ($ROWcall['CAMPO_PADRE'] == $ROW[id]) echo " selected";
echo ">".$ROW[segnalazione]."</OPTION>\n";
$popola_JS = mysql_query("SELECT * FROM nometabella1 WHERE id = '".$ROW['id']."' ORDER BY campochevuoi ASC");
$sub_JS = " else if ( hForm.CAMPO_PADRE.value == ".$ROW[id]." ) {\n";
$main = "var sub_".$ROW[id]." = new Array (\"Seleziona...\"";
$mainVal = "var val_".$ROW[id]." = new Array (\"0\"";
$comma = "";
$k = 0;
WHILE ($row_JS = mysql_fetch_array($popola_JS)) {
$comma = ", ";
$main .= $comma."\"".$row_JS[categoria]."\"";
$mainVal .= $comma."\"".$row_JS[id_categoria]."\"";
IF ($row_JS[id_categoria] == $ROWcall['CAMPO_FIGLIO']) $selezionato = "hForm.CAMPO_FIGLIO.options[j].selected = true;\n";;
$k++;
}
$main .= ");\n";
$mainVal.= ");\n";
$sub_JS .= "hForm.CAMPO_FIGLIO.options.length = 0; // reset \n";
$sub_JS .= "hForm.CAMPO_FIGLIO.options.length = sub_".$ROW[id].".length;\n";
$sub_JS .= "for ( var j=0; j<sub_".$ROW[id].".length; j++) { \n";
$sub_JS .= "hForm.CAMPO_FIGLIO.options[j].text = sub_".$ROW[id]."[j];\n";
$sub_JS .= "hForm.CAMPO_FIGLIO.options[j].value = val_".$ROW[id]."[j];\n";
$sub_JS .= $selezionato;
$sub_JS .= " }\n";
$sub_JS .= "}\n";
$sub_JS_TOT = $sub_JS_TOT.$sub_JS;
$main_tot = $main_tot.$main.$mainVal;
unset($main);
unset($mainVal);
unset($comma);
unset($sub_JS);
unset($selezionato);
$i++;
}
mysql_free_result($RES);
?>
</select>
<select name="CAMPO_FIGLIO" class="box" size="1" style="width:100%">
</select>
<script language="JavaScript">
<!--
function elabora ()
{
var hForm = document.registra;
var sub_0 = new Array ("Nessuna Categoria...");
var val_0 = new Array ("0");
<?
echo $main_tot;
?>
if ( hForm.CAMPO_PADRE.value == 0 )
{
hForm.CAMPO_FIGLIO.options.length = 0; // reset
hForm.CAMPO_FIGLIO.options.length = sub_0.length;
for ( var j=0; j<sub_0.length; j++) {
hForm.CAMPO_FIGLIO.options[j].text = sub_0[j];
hForm.CAMPO_FIGLIO.options[j].value = val_0[j];
}
}
<?
echo $sub_JS_TOT;
?>
}
elabora ();
// -->
</script>