Autor | Zpráva | ||
---|---|---|---|
mila Profil |
#1 · Zasláno: 6. 8. 2005, 15:35:51
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 |
#2 · Zasláno: 6. 8. 2005, 19:52:50
muzes pouzit traversovani kolem stromu ale je to jen pokud nemas tech vnoreni fakt hodne
http://interval.cz/clanek.asp?article=3801 |
||
tark Profil |
#3 · Zasláno: 7. 8. 2005, 09:30:41
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 |
#4 · Zasláno: 7. 8. 2005, 09:46:54
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 |
#5 · Zasláno: 7. 8. 2005, 13:24:11
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 :))
|
||
Časová prodleva: 1 měsíc
|
|||
aaaa Profil * |
#6 · Zasláno: 11. 9. 2005, 14:44:03
aaa
rek |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0