MYSQL order by

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Geoemyda
Mitglied
Beiträge: 52
Registriert: 01.11.2007 16:52

MYSQL order by

Beitrag von Geoemyda »

Hallo,
schon in einer anderen rubrik gestellt, sehe erst jetzt, dass die frage hier vielleicht besser hineinpasst, da sie nicht phpbb spezifisch ist, sondern eher allgemein zur strukturierung eines order by.

Ich hoffe das wird nicht als bumping gewertet.

Zum Problem:

ich möchte gerne eine Liste von Topics in einem (oder mehreren) Unterforen ausgeben, geordnet nach der Uhrzeit des letzten Beitrags (Sinn der Sache liegt darin, dass ich den User einen bestimmten Thread auswählen lassen möchte, von dem ich dann forum und topic id brauche, um diese daten in einem anderen Skript weiterzuverarbeiten).

D.h. eigentlich so ziemlich exakt das selbe, was vietopic.php macht - von daher habe ich nicht mit besonders vielen Schwierigkeiten gerechnet. Die Komplexität von vietopic.php überfordert mich allerdings, und ich finde nicht die relevanten Stellen, um sie einfach abzuschreiben.

Bisheriger Stand meienr Suche:
Relevant sind die Tabellen phpbb_topics und phpbb_posts.
Aus phpbb_topics kann ich alle Einträge mit der passenden forum_id auswählen, außerdem nennt mir die Datenbank mit last_post_id die id des letzten postings.
Die Uhrzeit dieses Postings kann ich in der Tabelle phpbb_posts im Feld post_time nachsehen.

So weit so gut - nur mit der formulierung der MySQL-Abfrage tue ich mir schwer.
SELECT * FROM phpbb_topics,phpbb_posts WHERE phpbb_topics.forum_id = zahl
ist soweit klar.
Aber wie bekomme ich jetzt ein
ORDER BY phpbb_posts.post_time hin, wobei zusätzlich die Bedingung phpbb_posts.post_id EQUALS phpbb_topics.last_post_id erfüllt sein muss?

Grüße,
Geoemyda
Geoemyda
Mitglied
Beiträge: 52
Registriert: 01.11.2007 16:52

Beitrag von Geoemyda »

SELECT *
FROM phpbb_topics
WHERE phpbb_topics.forum_id = '6'
ORDER BY (
SELECT post_time
FROM phpbb_posts
WHERE phpbb_topics.topic_last_post_id = phpbb_posts.post_id
)
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

  • Du hast dein Thema binnen weniger Minuten/Stunden mit einem Folgebeitrag nach oben geschoben.
    Die Mindestwartezeit für Topic Bumping beträgt 24 Stunden.
  • " Ich hoffe das wird nicht als bumping gewertet. " .... doch... wenn Du neue Erkenntnisse hast oder Dir neue Fragen innerhalb der 24h einfallen kannst und sollst Du Deinen vorherigen Beitrag editieren.
Bitte lies Dir den phpBB.de-Knigge durch und beachte ihn zukünftig.
Antworten

Zurück zu „Coding & Technik“