Forum Thread ORDER BY dateline

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Forum Thread ORDER BY dateline

    Hi, ich bin derzeit dran ein Forum zu schreiben. Jetzt bin ich auf ein, für mich, unlösbares Problem gestoßen.

    Folgender Tabellenaufbau:

    forum_thread

    Code:
    `forumthreadsid` int(11) NOT NULL auto_increment,
      `forumid` int(11) NOT NULL default '0',
      `iconid` smallint(2) NOT NULL default '0',
      `dateline` int(11) NOT NULL default '0',
      `forumthreadstitle` varchar(50) NOT NULL default '',
      `forumthreaddescritpion` varchar(50) NOT NULL default '',
      `status` smallint(2) NOT NULL default '0',  
      `threadclicks` int(11) NOT NULL default '0',
      `delete` smallint(1) NOT NULL default '0',
    forum_posts

    Code:
     `forumpostid` int(11) NOT NULL auto_increment,
      `forumthreadsid` int(11) NOT NULL default '0',
      `memberid` int(11) NOT NULL default '0',
      `iconid` smallint(2) NOT NULL default '0',
      `posterip` varchar(15) NOT NULL default '',
      `dateline` int(11) NOT NULL default '0',
      `guestname` varchar(150) NOT NULL default '',
      `guestemail` varchar(150) NOT NULL default '',
      `guesthomepage` varchar(150) NOT NULL default '',
      `guesticq` int(11) NOT NULL default '0',
      `guestaim` varchar(30) NOT NULL default '',
      `guestyim` varchar(30) NOT NULL default '',
      `guestmsn` varchar(30) NOT NULL default '',
      `forumposttitle` varchar(50) NOT NULL default '',
      `forumposttext` longtext NOT NULL,
      `editdateline` int(11) NOT NULL default '0',
      `editmemberid` int(11) NOT NULL default '0',
      `delete` smallint(1) NOT NULL default '0',
    Jetzt will ich ein Select durchführen, der mir die Threads auslist, aber nach dem dateline des letzten Postings sortiert.

    Also wie hier im Forum, das der Thread ganz oben steht, wo das letzte posting geschrieben wurde.

    Ich habe es schon mit Left Join probiert, ohne erfolg. Ich habe es versucht, mit MAX() die höchste dateline zu ermitteln, nur sortiert er mir das dann nicht.

    Also ich weiss wirklich nicht weiter.

    Wäre dankbar für ein paar Gedankenhilfen, wie ich am besten das Problem anfangen sollte zu lösen.

    Also man müsste ja erstmal die höchste dateline aus forum_posts in abhängigkeit von forum_thread.forumthreadsid = forum_posts.forumthreadsid
    Zuletzt geändert von toxiclein; 21.10.2005, 15:29.

  • #2
    Vielleicht sowas wie
    Code:
    SELECT DISTINCT forumthreadsid FROM forum_posts ORDER BY dateline DESC;
    Den Rest dann per join rausholen...

    Kommentar


    • #3
      Ja, jetzt beschränkt er mir die Ausgabe auf jeweils ein Thread, nur leider sortiert er es imme rnoch nicht nach dateline

      Kommentar


      • #4
        dateline (INT)

        Was für ein Integerwert soll denn eigentlich unter dateline gespeichert werden?

        Kommentar


        • #5
          time()

          Kommentar


          • #6
            Ich bin gerade etwas zu faul, die INT-Höchstwerte mir rauszusuchen, fand was von 32bit bzw. 2 Milliarden...

            Naja, jedenfalls erscheint es mir umständlich, es so zu speichern.

            Nun vielleicht ist es auch erst recht umständlich, ein Datum mit Uhrzeit zu speichern oder eine id festzulegen, die einfach der zeitlichen Post-Reihenfolge entspricht....

            Kommentar


            • #7
              Naja, warum time() gibt ein ein INT zurück, den man dann schon in der DB vergleichen kann.

              Kommentar


              • #8
                Original geschrieben von Tinúviel
                Ich bin gerade etwas zu faul, die INT-Höchstwerte mir rauszusuchen, fand was von 32bit bzw. 2 Milliarden...

                Naja, jedenfalls erscheint es mir umständlich, es so zu speichern.
                Umständlich vielleicht ... vor allem aber extrem dumm einen nicht dafür vorgesehenen Datentyp zu verwenden ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  Naja abgesehn davon, wie ich die posttime speichere, wie kann ich nun mein lastposttime in verbindung mit meinem Thread ermitteln?

                  Logisch wäre für mich, da bei forum_posts zeit als auch die threadid gespeichert werden und somit auch mehrere Posttimes vorhanden sind, die höchste posttime des jeweiligen Threads zu ermitteln.
                  Wäre mit max() möglich. Und dann?

                  --nun gut, hatte nur einen Variablendreher drin, habe es mit max beschränkt nd danach sortiert.

                  Tortzdem danke für die mühen.
                  Zuletzt geändert von toxiclein; 22.10.2005, 17:31.

                  Kommentar

                  Lädt...
                  X