Sorteren op tijd bij een ander ID
Peter Flos
20/09/2015 19:56:25Goedenavond,
Ik heb een tabel waarin een klein forum zit. Het werk als volgt:
- 1 tabel: forum_berichten
- Indien het een topic is, staat "First" op 1, als het een bericht is staat First op 0
- Indien het een topic is is ThreadID 0, bij een bericht is ThreadID het ID van het topic waarin het bericht staat
- De tijd wordt opgeslagen van het toevoegen
Alle kolommen
- ID - Het ID van het topic/bericht
- UserID - De gebruiker
- CategorieID - Categorie waarin het topic staat
- ThreadID - Zie boven
- Bericht - Het bericht uiteraard
- First - Zie boven
- Titel - Titel van de topic
- Bekeken - Aantal keren dat het topic is bekeken
- Wijziging - Indien het topic/bericht gewijzigd is staat hier de tijd van wijziging in
- Opties - Gesloten, Belangrijk, Normaal, 1, 2 of 3
- Tijd - Datum en tijd (TIMESTAMP) van het plaatsen
Nu is er een lijst met alle topic's. Hierin moet het topic bovenaan komen te staan die als laatste een reactie heeft gehad. Dit kan zowel zijn dat het topic als laatste is aangemaakt of dat er een bericht als laatste is komen. Op dit moment haal ik de topic's zo op:
Hier moet een Order inkomen, maar ORDER BY Tijd selecteert enkel op topic, niet ook op bericht. Hoe doe ik dit?
Bij voorbaat dank,
Peter.
Ik heb een tabel waarin een klein forum zit. Het werk als volgt:
- 1 tabel: forum_berichten
- Indien het een topic is, staat "First" op 1, als het een bericht is staat First op 0
- Indien het een topic is is ThreadID 0, bij een bericht is ThreadID het ID van het topic waarin het bericht staat
- De tijd wordt opgeslagen van het toevoegen
Alle kolommen
- ID - Het ID van het topic/bericht
- UserID - De gebruiker
- CategorieID - Categorie waarin het topic staat
- ThreadID - Zie boven
- Bericht - Het bericht uiteraard
- First - Zie boven
- Titel - Titel van de topic
- Bekeken - Aantal keren dat het topic is bekeken
- Wijziging - Indien het topic/bericht gewijzigd is staat hier de tijd van wijziging in
- Opties - Gesloten, Belangrijk, Normaal, 1, 2 of 3
- Tijd - Datum en tijd (TIMESTAMP) van het plaatsen
Nu is er een lijst met alle topic's. Hierin moet het topic bovenaan komen te staan die als laatste een reactie heeft gehad. Dit kan zowel zijn dat het topic als laatste is aangemaakt of dat er een bericht als laatste is komen. Op dit moment haal ik de topic's zo op:
Code (php)
1
2
3
2
3
<?php
$S = mysqli_query($con,"SELECT * FROM forum_berichten WHERE CategorieID = '$Categorie[0]' AND Opties = '1' AND First = '1'");
?>
$S = mysqli_query($con,"SELECT * FROM forum_berichten WHERE CategorieID = '$Categorie[0]' AND Opties = '1' AND First = '1'");
?>
Hier moet een Order inkomen, maar ORDER BY Tijd selecteert enkel op topic, niet ook op bericht. Hoe doe ik dit?
Bij voorbaat dank,
Peter.
PHP hulp
16/11/2024 08:57:11Is het niet zinvoller om de datastructuur op te splitsen in topic en posts, en dus twee verschillende tabellen?
Een topic is dan ook totaal wat anders dan een bericht, en beiden kennen ze verschillende eigenschappen.
Een topic is dan ook totaal wat anders dan een bericht, en beiden kennen ze verschillende eigenschappen.
Eddy E
20/09/2015 20:54:31Precies. Zo hoef je niet bij elk bericht de titel van het topic bij te houden.
Je hoeft niet zoveel data dubbel op te slaan.
In de tabel met topics hoef je niet eens bij te houden welk bericht als eerste komt: dat gaat toch op tijd.
Je hoeft niet zoveel data dubbel op te slaan.
In de tabel met topics hoef je niet eens bij te houden welk bericht als eerste komt: dat gaat toch op tijd.