Ciao a tutti, ho un problema con delle sellect di un form che popolo dinamicamente da database copio il codice e poi spiego l'errore.

index.php:

include('include/class/select.class.php');

$obj = new select();
$l1 = $obj->getL1();
$l2 = $obj->getL2();
<head>
<script type="text/javascript">
.
.
.
</script></head>
<select name="l1" id="l1" onchange="loading()">
<option value="sel" selected="selected">Seleziona una Regione:</option>
<?
for($x=0;$x<count($l1);$x++){
?>
<option value="<?=$l1[$x]['idregione']?>"><?=$l1[$x]['nomeregione']?></option>
<?
}
?>
</select>
</div>
<div id="label2">
Select 2
</div>
<div id="select22">
<select name="l2" id="l2" disabled>
<option value="sel" selected="selected">Seleziona una Provincia:</option>
<?
for($x=0;$x<count($l2);$x++){
?>
<option value="<?=$l2[$x]['idprovincia']?>"><?=$l2[$x]['nomeprovincia']?></option>
<?
}
?>

Poi ho la pagina get.php:

include('include/class/select.class.php');
$id = $_REQUEST['id'];
$obj = new select();
$l1 = $obj->getL1($id);
$Js = "";
for($x=0; $x<count($l1); $x++){
$l2 = $obj->getL2($l1[$x]['idregione']);
for($y=0;$y<count($l2);$y++){
if($y < (count($l2)-1)){
$end = ",";
}else{
$end = "";
}
$Js .= $l2[$y]['idprovincia']."-".$l2[$y]['nomeprovincia'].$end;
}
}

?>

E infine select.class.php:

class select{
function select(){
}
function getL1($id=""){
if(!empty($id)){
$sSQL = "SELECT * FROM regioni WHERE idregione = $id";
}else{
$sSQL = "SELECT * FROM regioni";
}
$ris = mysql_query($sSQL) or die($sSQL);
while($row = mysql_fetch_assoc($ris)){
$list[] = array('idregione' => $row["idregione"],
'nomeregione' => $row["nomeregione"]);
}
return $list;
}

function getL2($id){
$sSQL = "SELECT * FROM province WHERE idregione = $id";
$ris = mysql_query($sSQL) or die($sSQL);
while ($row = mysql_fetch_assoc($ris)) {
$list[] = array('idprovincia' => $row["idprovincia"],
'nomeprovincia' => $row["nomeprovincia"]);
}
return $list;
}
}

Il tutto sembra funzionare ovvero, ho la prima select popolata con le regioni pescate dal database, e la seconda select disabilitata, quando seleziono una regione si abilita la seconda select ma, nel caso delle prime due regioni che ho nella lista con l'id 1 e 2 (marche e abruzzo), e anche con trentino e pugli ( id 5 e 6 ) la seconda select non si riempie, mi escono tre opzioni con il nome 'undefined'. Qualcuno sa dirmi cosa può essere???? Perchè con tutte va tranne che con quelle? Grazie Simone.