Autor | Zpráva | ||
---|---|---|---|
peta Profil |
Potrebuji vytahnout z databaze menu. Bohuzel v db neni nic jineho nez
id title superior_id = nadrazene id Je to jakysi cms Seed, nespis verze 2. Manik, co to vytvarel dal do sablony menu jako html kod, takze editacni cast cms se nepouzije :) Nechce se mi prozkoumavat, jak to cms funguje, tak misto html tam dam vlastni php a budu doufat v zazrak funkcnosti. SELECT title,url,id,superior_id,0 AS tree FROM categories WHERE superior_id=42 UNION SELECT title,url,id,superior_id,1 AS tree FROM categories WHERE superior_id IN (SELECT id FROM categories WHERE superior_id=42) ORDER BY superior_id, title |
||
juriad Profil |
#2 · Zasláno: 7. 3. 2013, 09:26:23
Jinak než unionem takového počtu SELECTů, jako je maximální hloubka menu, nebo tím, že položíš pro každou úroveň jeden SELECT, se ti to nepodaří
http://stackoverflow.com/questions/13186173/recursive-sql-select viz první odpověď. |
||
Kajman Profil |
#3 · Zasláno: 7. 3. 2013, 09:44:53
Pokud nejsou v categories tisíce záznamů, může být svižné udělat jeden dotaz a strom si poskládat ze získaného pole až v php.
|
||
Časová prodleva: 11 let
|
0