Tra i vari esempi ho trovato questa pagina che penso sia un suggerimento per semplificarmi la vita dei tag LI e UL.
http://dev.mysql.com/tech-resources/...ical-data.html

Codice PHP:
CREATE TABLE nested_category (
 
category_id INT AUTO_INCREMENT PRIMARY KEY,
 
name VARCHAR(20NOT NULL,
 
lft INT NOT NULL,
 
rgt INT NOT NULL
);


INSERT INTO nested_category
VALUES
(1,'ELECTRONICS',1,20),(2,'TELEVISIONS',2,9),(3,'TUBE',3,4),
(
4,'LCD',5,6),(5,'PLASMA',7,8),(6,'PORTABLE ELECTRONICS',10,19),
(
7,'MP3 PLAYERS',11,14),(8,'FLASH',12,13),
(
9,'CD PLAYERS',15,16),(10,'2 WAY RADIOS',17,18); 
E la query che mostra la profondita' dei nodi:
Codice PHP:
SELECT node.name, (COUNT(parent.name) - 1) AS depth
FROM nested_category 
AS node,
nested_category AS parent
WHERE node
.lft BETWEEN parent.lft AND parent.rgt
GROUP BY node
.name
ORDER BY node
.lft;

+----------------------+-------+
name                 depth |
+----------------------+-------+
ELECTRONICS          |     |
TELEVISIONS          |     |
TUBE                 |     |
LCD                  |     |
PLASMA               |     |
PORTABLE ELECTRONICS |     |
MP3 PLAYERS          |     |
FLASH                |     |
CD PLAYERS           |     |
2 WAY RADIOS         |     |
+----------------------+-------+ 
Il testo indica questa query come quella per partire a generare i tag UL e LI ma io non ci arrivo.