Autor Zpráva
mila
Profil
Mám tabulku:
ID | KDE | něco...
--------------------
1 | 0 ...
2 | 0 ...
3 | 1
4 | 3
5 | 1
....

Ve sloupci KDE jsou čísla, která odpovídají ID. Vzniká tak jakýsi katalog, s neomezeným počtem vnoření:
Nejdříve záznamy s KDE=0, a pak pod každým jsou všechny ty, co mají v KDE jeho ID.

Potřeboval bych dotaz, který vrátí všechny zaznamy, které jsou nad nějakým.
Například v uvedém příkladě pro 4 dostanu: 4, 3, 1

Není to problém napsat v PHP. Lze to ale udělat na úrovni SQL?
Díky.
Kaifman
Profil
muzes pouzit traversovani kolem stromu ale je to jen pokud nemas tech vnoreni fakt hodne


http://interval.cz/clanek.asp?article=3801
tark
Profil
Já to dělám principem té první metody, ale protože nechci mít třeba 40 dotazů na db, tak jsem to udělal jinak .... Napsal jsem si třídu, která dělá TUPLEM to samý a zvládne to jen s jedním dotazem na db. ;)

http://kanevinternetu.blacksuns.net/source/strom.phps
Kaifman
Profil
tark



Já bych řekl že to tvoje je spíš ta druá metoda ala zásobník v poli , korát že objektově a v kombinaci s tou první metodou

každopádně ale schopné řešení
tark
Profil
Kaifman: jj, IMHO hlavně první metoda,akorát, že se nevolá getTree(), který to tahá z db, ale $this->getOneByParentId() která to tahá z pole :))
aaaa
Profil *
aaa

rek
Toto téma je uzamčeno. Odpověď nelze zaslat.