Salve, ho dei problemi durante il caricamento di una combo.
Il codice è questo:

<select name="pippo" id="pippo" >
<option value="0" selected="selected" >Scegli</option>
<?
if($lookups && db_num_rows($lookups)) {
while (list($id,$text) = each(db_filter_types($lookups,'pippo')))
{
?>
<option value="<?= $id ?>" ><?= $text ?></option>
<?
}
}
?>
</select>

la funzione db_filter_types fa questo:

function db_filter_types($result,$filtervalue) {
$lista = array();
if($result && db_num_rows($result))
{
while($row = mysql_fetch_array($result,MYSQL_BOTH)){
if($row['ref_code'] == $filtervalue){
$lista[$row['id']] = $row['text'];
}
}
}
//Questa stampa correttamente
while(list($id,$text) = each($lista)){
echo("Id : ".$id." Text : ".$text);
}
return $lista;
}

il problema sta nel fatto che la each al di fuori della funzione mi cicla solo il primo elemento e ferma il while, invece quella all'interno della funzione, stampa correttamente.

sapete spiegarmi?