Vypsání strukturovaných komentářů
- plasmo
- Člen | 66
Ahoj,
mohu se zeptat, jak nejlépe a nejednodušejc vypsat strukturovaný
komentáře stylem
komentar
- odpoved1
--odpoved2
---odpoved3
komentar2
.
.
.
komentar n
s tim ze tabulka vypada takto:
id nazev rodic
sloupec rodic vzdy obsahuje id nadrazeneho komentare, rodic 0 znamena ze to je
komentar a rodic <> 0 znemena odpoved na predchozi komentar
Koukal jsem na doplňek TreeView, ale to není přesně ono co potřebuju. Nevím akorat jak na to v Nette. Díky za pomoc
- na1k
- Člen | 288
Já jsem používal trochu jinou tabulku – něco jako id
,
parent
, level
, order
s tím, že odkaz
na rodiče je spíš přepych a je potřeba při manipulaci udržovat všechny
komentáře k jednomu článku seřazené podle order
. Jelikož je
ale vždycky mnohem víc vypisování než přidávání/mazání, pořád se
krutě vyplatí to mít předrovnané. Vypisuješ pak už jednoduše podle
order
a podle level
určíš zanoření, v tomhle
případě asi nějaké odsazení zleva.
Cílem je co nejvíce omezit dotazy, v tomhle případě zvládneš všechno v jediném. U klasické stromové struktury kterou popisuješ ti ale (za předpokladu neomezeného počtu zanoření) počet dotazů dost naroste.
Editoval na1k (30. 10. 2010 17:54)
- plasmo
- Člen | 66
na1k napsal(a):
Já jsem používal trochu jinou tabulku – něco jako
id
,parent
,level
,order
s tím, že odkaz na rodiče je spíš přepych a je potřeba při manipulaci udržovat všechny komentáře k jednomu článku seřazené podleorder
. Jelikož je ale vždycky mnohem víc vypisování než přidávání/mazání, pořád se krutě vyplatí to mít předrovnané. Vypisuješ pak už jednoduše podleorder
a podlelevel
určíš zanoření, v tomhle případě asi nějaké odsazení zleva.Cílem je co nejvíce omezit dotazy, v tomhle případě zvládneš všechno v jediném. U klasické stromové struktury kterou popisuješ ti ale (za předpokladu neomezeného počtu zanoření) počet dotazů dost naroste.
Děkuju, ale vůbec se mi nedaří zajistit to rovnání komentářů při přidání dalšího, aby si to samo aktualizovalo sloupec order … :( mohl by si mi ještě nastínit toto? Děkuju
Varianta vybrat všechny dalsi komentare po rodici a udelat order+1 mi
neprošla :(
Vypadá to takhle ted
Editoval plasmo (30. 10. 2010 22:42)
- jansfabik
- Člen | 193
Já používám tohle:
http://dev.mysql.com/…al-data.html
Je to docela jednoduchý způsob jak držet v databázi strom s libovolnou hloubkou. Něco o tom psal i Jakub Vrána. Já na to používám v MySQL uložené procedury.