Ho implementato in forma statica il menu che si vede qui
c'e' il menu e la tabella che definisce il legame tra nodi genitori e figli.

Ho utilizzato solo una tabella. Se il nodo ha un genitore nella riga del nodo metto l'id del genitore.
Secondo voi e' strutturato in maniera corretta ?

Ora partendo dalla tabella dovrei generare dinamicamente il codice che vedete sempre nella pagina (cioe' la sequenza di tag UL e LI corretta).

Il primo livello riesco a generarlo e anche il secondo pero' il terzo no ma dovrebbe essere simile al secondo e poi non posso ragionare a livelli dovrei fare una cosa diciamo RICORSIVA!

Io mi sono fermato(piantato) qui, mi date qualche suggerimento ?

Codice PHP:
<?
$db_host 
"localhost";
$db_user "root";
$db_password "";
$db_name "t3";
$db mysql_connect($db_host$db_user$db_password);
if (
$db == FALSE)
die (
"Errore nella connessione.");

mysql_select_db($db_name$db)
or die (
"Errore nella selezione del database.");

?>

<ul id="menu">
<?
$str_query_main        
" SELECT * FROM `main_menu` WHERE id_parent is NULL";
$result_main           mysql_query($str_query_main$db);

 while (
$row_main mysql_fetch_array($result_main))  {?>

  <li class="folder">[url="#"]<?print $row_main['etichetta_ita'];?>[/url]
    
    <?
    $str_query_sub        
" SELECT * FROM `main_menu` WHERE id_parent = " .$row_main['id'];
    
$result_sub           mysql_query($str_query_sub$db);
    
$submenu_number mysql_num_rows($result_sub); 
    
?>
    
    <? if ($submenu_number>0) print "<ul>"?>
    [*][url="#"]in corso[/url][*][url="#"]in archivio[/url]
    
    <? if ($submenu_number>0) print "[/list]"?>
  
 <? }  ?>