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]"; ?>
<? } ?>