Moin!
"SELECT date_format(datum,'%d.%m.%Y')
Du hast als eine Spalte, die auf den Bezeichner datum hoert.
AS datum,
Hier ueberschreibst du diesen Bezeichner aber - und weist ihn dem *formatierten* Datum zu, welches du gerade erzeugt hast.
headline, info, kategorie FROM news
ORDER BY datum LIMIT 15"Und eben dieses Format wird also hier zur Sortierung herangezogen.
Oder kürzer und vielleicht verständlicher:
Du sortierst nach der Spalte "datum", das ist aber das Stringergebnis deiner Funktion date_format, nicht das Datum in deiner DB-Spalte "datum".
Abhilfen:
ORDER BY news.datum
Die Angabe der Tabelle sortiert nicht nach Ergebnis-Alias, sondern nach Tabelle.
date_format(datum,...) AS datum2 ... ORDER BY datum
Ein anderer Aliasname würde die Doppeldeutigkeit ebenfalls verhindern.
- Sven Rautenberg
"Love your nation - respect the others."