Autor Zpráva
Kovanda
Profil
Předem zdravím všechny odborníky. Potřebuji poradit, poněvadž už do toho hledím týden, jakou vytvořit DB v MySQL a jak ji nejlépe updatovat v PHP pro skoro pyramidový systém. Zkrátka potřebuji DB zaměstnanců, asi jednu nebo více DB jejich bodů a propojit to tak že pokud nějaký zaměstnanec získá body aby se tyto body přičetly i jeho všem nadřízeným s tím že každý může mít nějakého zaměstnance. (jednoduše napsáno) Pokud bude mít někdo chuť mi s tím pomoci, rozepíšu to tu víc. Předem moc dík za jakoukoliv radu.
TomášK
Profil
Každý zaměstnanec bude mít odkaz na nadřízeného (parent_id). Při přidání bodů zaměstnanci se rekurzivně přidají body všem jeho nadřízeným. Nejjednodušší by asi bylo napsat na to trigger do databáze, ale jde to řešit i na úrovni php.
Kajman_
Profil *
Triggerem to asi nepůjde, bude se bránit, že nejde upravovat tabulku, nad kterou byl vyvolán.

Ale mohla by se vytvořit mysql procedura, která by to všem přičetla. Asi by to chtělo přidat nějakou kontrolu zacyklení přičítání bodů.
Kovanda
Profil
Předem díky za reakce. O nějaké rekurzivní funkci jsem uvažoval, ale mé vědomosti (samouk) nějak nestačí na to, jak by to mělo vypadat aby po každém cyklu zjistila dalšího nadřízeného.
xmark
Profil
Možná bych použil "hrubou sílu". SELECTem bych zjistil, jestli má osoba nějaké nadřízené a zapamatoval bych si je v poli. Pak updatoval body dané osoby. A pak totéž udělal se všemi "zapamatovanými" zaměstnanci. A toto pořád dokola, dokud by se mi načítali nadřízení.
(vím že to je rekurze, jen se snažím ji popsat prakticky)
Kovanda
Profil
Jako každému zaměstnanci vytvořit vlastní tabulku nadřízených?? Nebo další funkcí nějak (asi nevím jak) zjišťovat dalšího nadřízeného až naplním pole.
Kcko
Profil
Kovanda:
zamestanecID | nadrizenyID
xmark
Profil
Kovanda:
Nevím jak vypadá struktura databáze, ale předpokládám, že každý zaměstnanec má jednoho nebo několik(?) přímých nadřízených. Takže jde o to je zjistit, zapamatovat v nějakém pomocném poli a pak na ně aplikovat tentýž postup, jaký jsi použil na toho zaměstnance.
__construct
Profil
Kovanda:
Pozri si tento a tento článok.
Kovanda
Profil
no pokud by to měla být pouze jedna tabulka obsahující pouze zamestnanec ID a nadrizeny ID tak opravdu nevím jak by mělo vypadat hledání všech nadřízených. Příklad vztahu vedoucí a zaměstnanec

ID1
/ \
ID2 ID3
/ \ / \
ID4 ID5 ID6 ID7
Kovanda
Profil
__construct:
Moc dík to by mohlo být ono. Du studovat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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