Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Forum Threads nach Datum der neuesten Antwort sortieren

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein Forum mit folgenden Tabellen:

forum_threads


####################################################
# ID # Titel # Message # Poster # CreateDate # Hits#
# # # # # # #
# # # # # # #
####################################################
[/PHP]

forum_antworten

[PHP]
######################################################
# ID # ThreadID# Message # Poster # CreateDate # Hits#
# # # # # # #
# # # # # # #
######################################################

Jetzt sollen die Threads bei der Ausgabe nach dem Datum der neuesten Antwort sortiert werden. Hat jemand eine Ahnung, wie ich das machen kann?

Gruß,

Andreas

je nach DBMS (mysql? *rat*), ein JOIN auf forum_threads.ID und forum_antworten.ID und ein ORDER BY forum_antworten.CreateDate (neueste antwort, dann halt noch DESC, absteigend sortiert).

s'Amstel

Hallo,

sorry hatte vergessen zu sagen dass es sich um MySQL handelt ;)

Also ich hab das mal ohne JOIN gemacht, aber bin der Lösung schon ziemlich nahe:


SELECT
a.ID, a.ThreadID, a.Poster, max(a.CreateDate) as foo, t.ID, t.Titel, t.Poster, t.CreateDate
FROM forum_antworten a, forum_threads t
WHERE a.ThreadID=t.ID
GROUP BY t.Titel
ORDER BY foo DESC
[/PHP]

Das listet mir die Threads sortiert nach der neuesten Antwort auf. Allerdings nur die Threads, für die schon eine Antwort existiert!

Wie bekomm ich jetzt die andren Threads mit deren Erstellungsdatum auch noch in die Sortierung?

Danke!

Gruß,

Andreas

Hier hab ich dasselbe nochmal mit dem JOIN, allerdings hab ich noch immer keine Ahnung wie ich die Threads ohne Antworten da mit reinbekomme?


SELECT t.Titel, max( a.CreateDate ) AS Datum
FROM forum_antworten a
INNER JOIN forum_threads t ON t.ID = a.ThreadID
GROUP BY t.Titel
ORDER BY Datum DESC
[/PHP]

Hi,

um Redundanz zu verhindern solltest du im Forum Thread lediglich den Titel des Threads speichern, den Rest kannst du im Antworten-Thread speichern.

Zum einen kann es ja sein, daß du z.B. den ersten post eines Themas löschen willst und dann ist gleich das ganze Thema gekilled (obwohl vielleicht einzelne Antworten recht gut waren).

So würdest du auch die Thread-Tabelle kleiner halten.

Nur so als Tipp.

Gruß,

DiHo

Danke, funktioniert bestens!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.