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
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
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: