Hallo,
Ik probeer een klein actieve-topics lijstje te maken. Daarvoor had ik deze query gemaakt:
Ik heb dus één tabel voor alle forumberichten, genaamd forum. Door middel van een check (id=tid > post_id = topic_id) kijk ik of het geselecteerde bericht een topic is of niet (dus als ik een topic wil WHERE id=tid).
forum r > hiermee haal ik de laatste post uit de database.
forum t > dit is het topic waar de reactie bij hoort.
Nu werkt de query op zich redelijk goed. Alleen heb ik een probleem:
Als er reacties op een topic zijn dan pakt hij de time en username van de EERSTE reactie in plaats van de LAATSTE reactie.
Ik heb verschillende dingen geprobeerd maar ik kom er even niet meer uit.
Kan iemand mij misschien helpen?
Ik probeer een klein actieve-topics lijstje te maken. Daarvoor had ik deze query gemaakt:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| SELECT r.tid, t.title, t.status, r.time, u.username FROM forum r JOIN forum t ON (t.id=r.tid) JOIN members u ON (u.id=r.uid) GROUP BY t.id ORDER BY r.time DESC LIMIT :limit |
Ik heb dus één tabel voor alle forumberichten, genaamd forum. Door middel van een check (id=tid > post_id = topic_id) kijk ik of het geselecteerde bericht een topic is of niet (dus als ik een topic wil WHERE id=tid).
forum r > hiermee haal ik de laatste post uit de database.
forum t > dit is het topic waar de reactie bij hoort.
Nu werkt de query op zich redelijk goed. Alleen heb ik een probleem:
Als er reacties op een topic zijn dan pakt hij de time en username van de EERSTE reactie in plaats van de LAATSTE reactie.
Ik heb verschillende dingen geprobeerd maar ik kom er even niet meer uit.
Kan iemand mij misschien helpen?
[ Voor 6% gewijzigd door Saven op 01-02-2009 17:21 ]