Autor | Zpráva | ||
---|---|---|---|
xlifer Profil |
Jaký máte názor na sestavení struktury v databázi pro více-úrovňové menu?
Mám dva návrhy: 1. Jedna tabulka se sloupci: id, nazev, level, rodic 2. Pro každou úrověň samostatná tabulka: id, nazev, rodic, dalsi_level* *Příznak, zda je další úroveň. add 1/ Výhodou mi přijde především vše v jedné tabulce. Nevýhodou asi je, že při výpisu otevírám spoustu dotazů do stejné tabulky (asi není efektivní, ale zde si nejsem jistý). add 2/ Výhoda, snad rychlejší výpis / manipulace s daty? |
||
Alphard Profil |
#2 · Zasláno: 29. 8. 2012, 21:00:39
Obojí nahouby, právě kvůli nutné rekurzi, ale pro malé menu lze vše vytáhnout do pole najednou a rekurzivně projít až to pole.
Lepší řešení je traverzování kolem stromu, ale zase se složitě administruje. |
||
xlifer Profil |
Alphard:
Díky za tip, na to traverzování jsem se díval a vypadá to zajímavě, ale co jsem nepochopil, tak jak sestavit LFT a RGT, když dávám INSERT, všude je příklad na UPDATE nebo přesun apod. ale INSERT moc popsaný není. Mimochodem název "traverzování" je název jako noha :-) To je počestění, který nechápu vůbec... |
||
Alphard Profil |
#4 · Zasláno: 30. 8. 2012, 02:11:01
http://php.vrana.cz/traverzovani-kolem-stromu-prakticky.php kdyby to měl člověk pokaždé vymýšlet, je to pracné, ale implementovat hotová řešení není zas tak zlé.
Nevnucuji tohle řešení, jen uvádí alternativu. Já ho ale používám kvůli snadným výpisům. |
||
Časová prodleva: 12 let
|
0