Ik wou voor een uitprobeer-siteje reacties van gebruikers onder artikelen als threads (cascading) laten weergeven, zoals dat op de T.net frontpage gebeurt.
ik kwam er echter niet uit hoe ik dat het beste kan realiseren.
2 manieren die ik in gedachten had:
1: in de database wordt per reactie, threadnummer en niveau opgeslagen, de weergave gebeurt door te groeperen op threadnummer, en bij elk niveau een soort indent te maken (maar dat is het lastigste niet).
dan krijg je dus zoiet:
Thread / niveau
-----------
1/0
|- 1/1
|- 1/1
|-- 1/2
2/0
|- 2/1
|-- 2/2
nadeel van deze methode is dat de reacties van 1 niveau altijd onder elkaar worden getoond, terwijl zoiets als onderstaand voorbeeld ook mogelijk zou moeten zijn:
1/0
|- 1/1
|-- 1/2
|- 1/1
|-- 1/2
--2/0
vandaar de 2e mogelijkheid:
in de database wordt per reactie een uniek ID opgeslagen, verder wordt opgeslagen naar welke reactie verwezen wordt (als een reactie een hoofdthread is, verwijst ie dus naar 0)
voorbeeld:
ID / verwijzing:
----------
1/0
|- 2/1
|-- 5/2
|- 3/1
4/0
|- 6/4
etc...
nadeel hiervan is de manier waarop je die selectie gaat doen: ik kreeg het met dingen als ORDER BY of GROUP BY niet voor elkaar alles goed te ordenen.
dan zou je dus per hoofdthread maar ook per subthread een nieuwe query moeten doen of er posts in de DB staan die verwijzen naar het desbetreffende post ID.
weet iemand een betere manier om dit voor elkaar te krijgen? dit soort dingen zie je heel vaak op sites (t.net, slashdot, usenet) maar ik kon helaas op de search en op google niks bruikbaars vinden (ik wist ook niet op welke keywords te zoeken).
ik kwam er echter niet uit hoe ik dat het beste kan realiseren.
2 manieren die ik in gedachten had:
1: in de database wordt per reactie, threadnummer en niveau opgeslagen, de weergave gebeurt door te groeperen op threadnummer, en bij elk niveau een soort indent te maken (maar dat is het lastigste niet).
dan krijg je dus zoiet:
Thread / niveau
-----------
1/0
|- 1/1
|- 1/1
|-- 1/2
2/0
|- 2/1
|-- 2/2
nadeel van deze methode is dat de reacties van 1 niveau altijd onder elkaar worden getoond, terwijl zoiets als onderstaand voorbeeld ook mogelijk zou moeten zijn:
1/0
|- 1/1
|-- 1/2
|- 1/1
|-- 1/2
--2/0
vandaar de 2e mogelijkheid:
in de database wordt per reactie een uniek ID opgeslagen, verder wordt opgeslagen naar welke reactie verwezen wordt (als een reactie een hoofdthread is, verwijst ie dus naar 0)
voorbeeld:
ID / verwijzing:
----------
1/0
|- 2/1
|-- 5/2
|- 3/1
4/0
|- 6/4
etc...
nadeel hiervan is de manier waarop je die selectie gaat doen: ik kreeg het met dingen als ORDER BY of GROUP BY niet voor elkaar alles goed te ordenen.
dan zou je dus per hoofdthread maar ook per subthread een nieuwe query moeten doen of er posts in de DB staan die verwijzen naar het desbetreffende post ID.
weet iemand een betere manier om dit voor elkaar te krijgen? dit soort dingen zie je heel vaak op sites (t.net, slashdot, usenet) maar ik kon helaas op de search en op google niks bruikbaars vinden (ik wist ook niet op welke keywords te zoeken).
Certified smart block developer op de agile darkchain stack. PM voor info.