Autor | Zpráva | ||
---|---|---|---|
Akacko Profil |
#1 · Zasláno: 4. 5. 2008, 18:10:20
Zdravím.
Potřeboval bych poradit s problémem: V databázi mám uložené stromové menu. Ke každé položce si ukládám ID rodiče CREATE TABLE `menu` ( `menuId` int(11) NOT NULL auto_increment, `text` varchar(100) NOT NULL, `url` varchar(100) NOT NULL, `parent` int(11) default NULL PRIMARY KEY (`menuId`) ) Napadly mě dvě možnosti 1) napsat PHP funkci, která by postupovala nahoru stromem až by narazila na položku s parent = 0. Toto řešeni jsem zavrhl, protože se mi zdá jako náročnější na čas (i když to asi nepůjde poznat, je to podle mě prasacke) 2) do databáze připsat sloupec do kterého bych ukládal ID „hlavního“ rodiče. Toto řešení se mi nezdá, protože je to hodně duplicitních údajů (i když je to jen jedno číslo) Poraďte, jak to dělat nejlépe a nejjednodušejí. Díky. |
||
Nox Profil |
#2 · Zasláno: 4. 5. 2008, 18:58:36
Nevim jestli to je to, co je tím myšlený, ale třeba to pomůže - http://interval.cz/clanky/metody-ukladani-stromovych-dat-v-relacnich-d atabazich/
|
||
Mastodont Profil |
#3 · Zasláno: 4. 5. 2008, 19:33:04
Rovněž
http://www.sitepoint.com/article/hierarchical-data-database http://www.dbazine.com/oracle/or-articles/tropashko4 Osobně se mi líbí materializovaná cesta, ale tu bych omezil třeba na diskuse, kde se nemění pořadí prvků ve stromu a nové příspěvky tvoří vždy list stromu. |
||
Akacko Profil |
#4 · Zasláno: 4. 5. 2008, 20:05:34
Nox, Mastodont
vybral jsem si. Díky |
||
Časová prodleva: 16 let
|
0