Zadejte hledaný výraz...

Vykreslení pyramidy (struktury) všech uživatelů v databázi

Zdravím všechny,
potřeboval bych poradit ohledně následujícího problému. Tak jsem se do toho zamotal, že se z toho nemůžu vymotat a hledám rady :)
V databázi se při registraci uživatelů zadávájí nadřazené účty uživatelů. Tedy můj vlastní účet je hlavní. Následuje další účet, který má můj ID přiřazený jako nadřazený a je tedy podemnou. Takových účtů, kteří jsou podemnou může být několik a také oni můžou mít další a další účty, které jsou pod nimi. Je tedy jeden hlavní účet, ten může mít rekurzivně childs.
Potřeboval bych strukturu těchto uživatelů vykreslovat jakoby v pyramidě, ale nepřesně (vykreslování v linii na základě iterace - jak hluboko je zanořeno, nikolik přímo pod parentem).
PRVNÍ ŘÁDEK: Hlavní účet
DRUHÝ ŘÁDEK: Všechny účty které patří pod hlavní účet
TŘETÍ ŘÁDEK: Všechny účty, které patří pod některý z účtů na řádku 2.
ČTVRTÝ ŘÁDEK: Všechny účty, které patří pod některý z účtů na řádku 3.
Je to takhle pochopitelné?
Pro jistotu ještě přímo ukázka:
a z takové databáze získat nejlépe například pole IDeček
Absolutně jsem se do toho zamotal a nejsem už schopný nějak rozumně vymyslet řešení. Nemusíme hledět příliš na výkon, uživatelů není mnoho.
Poradí mi někdo?
Díky mockrát :)
20. 9. 2016 12:43:02
https://webtrh.cz/diskuse/vykresleni-pyramidy-struktury-vsech-uzivatelu-v-databazi#reply1225008
Petr Pojer
verified
rating uzivatele
(9 hodnocení)
20. 9. 2016 12:49:05
Řekl bych, že
tě bude stát hrozně zdrojů (přístupy do DB, propočty, apod.) s tím, jak to máš teď nachystané.
Napadá mě přidat do DB tabulky další sloupec s názvem "level", kdy hlavní účet bude mít hodnotu "1", a každý nový uživatel bude mít "parentLevel + 1". Na základě toho potom můžeš jednoduše vytáhnout uživatele pro danou úroveň.
20. 9. 2016 12:49:05
https://webtrh.cz/diskuse/vykresleni-pyramidy-struktury-vsech-uzivatelu-v-databazi#reply1225007
To je vončo, já jsem tele:)
Diky, diky moc!!!!!
20. 9. 2016 12:52:18
https://webtrh.cz/diskuse/vykresleni-pyramidy-struktury-vsech-uzivatelu-v-databazi#reply1225006
Martin
verified
rating uzivatele
(62 hodnocení)
20. 9. 2016 13:57:57
Pro práci se stromovou strukturou bych se podíval do nějaké hotové třídě. Zkus pohledat "php nested tree". Tohle třeba vyřešíš a za chvíli se zamotáš v něčem jiném. Tady koukni na příklad s Doctrinou, jak se s takovou třídou potom krásně pracuje http://blog.edgedesign.cz/nested-set-v-doctrine-2/ . Ušetří to dost nervů :-)
20. 9. 2016 13:57:57
https://webtrh.cz/diskuse/vykresleni-pyramidy-struktury-vsech-uzivatelu-v-databazi#reply1225005
Václav Hodek
verified
rating uzivatele
(9 hodnocení)
21. 9. 2016 06:24:14
Pokud jich není moc, tak rekurzivní funkce... jedním dotazem načíst všechny položky a zpracovat pomocí PHP.
(Píšu z hlavy a PHP není zrovna můj šálek kávy, takže to asi nebude 100% platný kód, ale pro pochopení snad stačí)
21. 9. 2016 06:24:14
https://webtrh.cz/diskuse/vykresleni-pyramidy-struktury-vsech-uzivatelu-v-databazi#reply1225004
Pro odpověď se přihlašte.
Přihlásit