DB nach Datum sortieren - d.m.Y

chmee

verstaubtes inventar
Premium-User
MySQL - DB nach Datum sortieren - d.m.Y

Mahlzeit, meine wissenden Helfer :)

Ich habe mir in mein phpbb-Forum einen Kalender-Mod eingebaut, dieser speichert das Erstellungsdatum leider nicht in Timestamp oder Unix-Datum (Y-m-d), sondern ganz dumm d.m.Y in ein VARCHAR(10). Gibt es eine Möglichkeit, dieses in der MySQL-Query richtig zu sortieren oder sollte ich diese Mod wieder wegwerfen und es komplett selbst aufbauen ?

Derzeitige Abfrage lautet ( Vorsicht php )

$abf= 'SELECT * FROM phpbb3_cal_dates WHERE dmY<"'.$HeuteTag.'.'.$HeuteMonat.'.'.$HeuteJahr.'" LIMIT 0,5';
oder für Heute
$abf= 'SELECT * FROM phpbb3_cal_dates WHERE dmY<"09.10.2008" LIMIT 0,5';

Was natürlich zu einem falschen Ergebnis führt, da textbasiert sortiert wird, also 07.10.2010 vor dem 09.10.2008 liegt und 12.08.1999 gar nicht auftaucht.

mfg chmee
 
Hi,

versuch's mal so (ungetestet):

PHP:
$abf= 'SELECT * FROM phpbb3_cal_dates WHERE UNIX_TIMESTAMP(STR_TO_DATE(dmY, \'%d.%m.%Y\')) < "' . mktime(0,0,0,$HeuteMonat,$HeuteTag,$HeuteJahr) . '" LIMIT 0,5';

LG
 
Super, das ist es. Dankeschön.. Wenn man nur alle Monate mit MySQL zu tun hat, kennt man die kleinen Helferlein nicht.

mfg chmee
 
Zurück