Struttura ad albero dinamica con PHP/MySQL (I Parte)
In questo articolo tratteremo come implementare una strutturadati ad albero che viene memorizzata in un database mysql. Inquesta prima parte vedremo come creare in maniera brutal'albero nela seconda parte definiremo le funzioni che ciserviranno per gestirlo.
Il codice sql per creare la tabella è:
CREATE TABLE `struttura` (`id` int(11) NOT NULL auto_increment,`nodo` varchar(15) NOT NULL default '',`livello` varchar(5) NOT NULL default '',`nodoliv` varchar(10) NOT NULL default '',PRIMARY KEY (`id`)) TYPE=MyISAM;
Dove "nodo" rappresenta il nostro nodo,"livello" indica il numero di nodi che il nostronodo dista dal nodo padre."nodoliv" indica il padredel "nodo".Creiamo il primo figlio del nostroalbero:
...$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('radice','1','figlio1')");...
Adesso procediamo con l'inserimento degli altri figli
...$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('radice','1','figlio2')");$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('radice','1','figlio3')");...$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('radice','1','figlion')");...
Adesso aggiungiamo un figlio "figlio1_1" al nodo"figlio1" questo sarà al livello 1 di"figlio1" e al livello 2 di "radice".
...$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('figlio1','1','figlio1_1')");$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('radice','2','figlio1_1')");...
Se ad esempio volessimo aggiungere un figlio a"figlio1_1" di nome "figlio1_11" , alloraavremmo:
...$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('figlio1_1','1','figlio1_11')");$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('figlio1','2','figlio1_11')");$risultato =mysql_query("insert into struttura(nodo,livello,nodoliv) values('radice','3','figlio1_11')");...
- Articolo precedente Creare un sistema di commenti agli articoli in php/mysql
- Articolo successivo Creare uno scrolling orizzontale di news scritte in un file di testo
