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); 
  	} 

}