potresti effettuare la query e ricostruirti tutto in un array
e poi gestirti l'arraycodice:$menu = array(); $result = mysql_query("SELECT id, categoria, pid FROM tabella"); while(list($id, $categoria, $pid) = mysql_fetch_row($result)) { $menu[$pid][$id] = $categoria; }