Announcement

Collapse
No announcement yet.

Forum: Sortierung der Themen nach Beitraegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Forum: Sortierung der Themen nach Beitraegen

    Hallo Community,

    ich habe ein ganz einfaches Forum, in dem ich derzeit meine Themen nach Erstellungsdatum des Themas sortiere.

    Ich moechte jetzt allerdings die Themen, so wie es in der Regel bei jedem anderen Forum auch der Fall ist, die Themen nicht nach ihren eigenen Erstellungsdatum sortieren sondern nach dem jeweiligen letzten Beitrag, der im Thema geschrieben wurde. Versteht ihr, was ich meine? Bestimmt!

    So sieht mein SELECT im Moment aus:
    Code:
    SELECT id, erstellungsDatum, thema FROM forumBeitrag WHERE active = 1 AND parentId = 0 AND kategorieId = 1 ORDER BY erstellungsDatum DESC
    Jetzt ist es so, dass Themen und Antworten in ein und derselben Tabelle (forumBeitrag) sind. Themen sind durch parentId = 0 gekennzeichnet und Antworten haben in dieser Spalte die jeweilige Id des Themas.

    Habt ihr eine Idee, wie ich den SELECT so umgestalten koennte, dass ich die Informationen erhalte, wie oben beschrieben?

    Danke fuer eure Tipps!

    Patrick

  • #2
    Auch hallo,

    wie sieht denn das Datenmodell aus und wie heisst die dahinterstehende Datenbank ?
    Mit Oracle könnte man Datum und Uhrzeit und eine Zahl ineinander umwandeln: http://www.muniqsoft.de/tipps/monats...tipps_2002.htm
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Es ist eine MySQL Datenbank mit folgender Struktur:

      id int(11) auto_increment
      parentId int(11) 0
      kategorieId int(11)
      benutzerId int(11)
      ip varchar(64)
      erstellungsDatum datetime
      zuletztBearbeitetDatum datetime
      thema varchar(40)
      text blob BINARY
      active int(1)

      Comment


      • #4
        Hallo,

        dazu mußt du die Tabelle mit sich selbst Joinen.

        [highlight=sql]
        SELECT a.id, min(b.erstellungsDatum) erstellungsDatum, a.thema
        FROM forumBeitrag a
        inner join forumBeitrag b on b.parentId = a.id
        WHERE a.active = 1
        AND a.parentId = 0
        AND a.kategorieId = 1
        group by a.id, a.thema
        ORDER BY min(b.erstellungsDatum) DESC
        [/highlight]

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X