Forum - Themen anordnen

tomi

Mitglied
Hallo!

Bin im Moment dabei ein Forum zu schreiben. Und habe bisher 3 Tabellen dafür:
1. Tab:
foren (Felder: id,name)

2. Tab
themen (Felder: id,forumid,userid,name,datum)

3. Tab
posts (Felder: id,forumid,themenid,userid,name,datum,post)

Wenn ich mir jetzt die Themen für ein Forum ausgeben lassen will, müssen diese so geordnet werden, dass das Thema, in dem zuletzt geantwortet wurde, zuerst erscheint usw.

Dafür habe ich folgenden MySQL-Befehl:
Code:
<?php
$res = "SELECT 
t.name AS 'themen_titel', 
t.id AS 'themen_id', 
t.userid AS 'themen_user', 
b.userid AS 'beitrag_user', 
b.datum AS 'beitrag_datum' 
FROM themen AS t 
LEFT JOIN beitrag AS b ON (b.themenid=t.id) 
WHERE t.forumid='1' 
GROUP by t.id 
ORDER by beitrag_datum DESC";
?>

Es werden auch die Themen ausgegeben. Jedoch nicht in der richtigen Reihenfolge. Sie werden einfach nicht nach dem letzten Beitrag absteigend angeordnet, sondern nach ihrer eigenen Entstehung absteigend angeordnet.

Wo ist nun der Fehler in meiner Anweisung?
Danke!
 
Gibt dir SQL denn keine Fehlermeldung zurück?! Müssten die Aliase nicht eigentlich in Backticks statt einfachen Anführungszeichen bzw. ganz ohne stehen?!

PHP:
<?php
$res = "SELECT 
t.name AS themen_titel,
t.id AS themen_id,
b.userid AS themen_user,
b.datum AS beitrag_datum,
FROM themen t, beitrag b
WHERE b.themenid = t.id AND t.forumid = 1
GROUP BY t.id
ORDER BY b.datum DESC";
?>
Heißt deine Tabelle jetzt nun "posts" oder "beitrag"?!
 
Original geschrieben von ludz
Gibt dir SQL denn keine Fehlermeldung zurück?! Müssten die Aliase nicht eigentlich in Backticks statt einfachen Anführungszeichen bzw. ganz ohne stehen?!

Nein, MySQL gibt keine Fehlermeldung zurück. Es werden ja auch die Themen alle aufgelistet, eben nur in der falschen Reihenfolge. Siehe hier:

Es werden auch die Themen ausgegeben. Jedoch nicht in der
richtigen Reihenfolge. Sie werden einfach nicht nach dem letzten Beitrag absteigend angeordnet, sondern nach ihrer eigenen Entstehung absteigend angeordnet.

Die Tabelle heißt beitrag
 
Zurück