Originariamente inviato da piccions
Ho risolto con questa funzione, che dite può andare o vengono eseguite troppe query?
codice:
function display_children_select($parent, $level) { 
 
	include("./../includes/config.inc.php");

	$sql = "SELECT * FROM ".$_CONFIG['table_categorie']." WHERE id_parent LIKE '".$parent."'";
	$result = mysql_query($sql)or die(mysql_error()); 

	while ($row = mysql_fetch_array($result)) { 

		$indentazione=str_repeat('—¦',$level);
		echo "<option value=\"".$row['id_cat']."\">".$indentazione." ".$row['categoria']."</option>";

		display_children_select($row['id_cat'], $level+1); 
  	} 

}
Sì, fai sempre molte query perchè stai applicando la soluzione a due livelli proposta
Tecnologiamiky al caso più generale con n livelli di profondità sfruttando la ricorsione. Perchè non scarichi tutta la tabella delle categorie con una sola query e dall'array monodimensionale ottenuto costruisci con una funzione rcorsiva, tipo quella che hai postato, il tuo elenco non ordinato html?