Hallo, ich habe ein datenbankfeld mit dem format date in dass ich per NOW() das aktuelle datum eines eintrages einfüge. Wenn ich jetzt mit while die daten auslese und ich $row['datum'] ausgeben lasse, erhalte ich etwas wie 2007-01-23 .
Da ich nicht faul bin und viel gelesen habe und auf die funktion date() gestossen bin, hab ich ich folgendes probiert:
date("d. m. Y",$row['datum'])
Jetzt steht aber bei jedem datum immer 01. 01. 1970????
könnt ihr mir sagen was ich falsch mache. danke
$row['datum'] beinhaltet einen string, date() erwartet an der stelle einen unix-timestamp = positiver integer, deshalb setzt php da 0 ein und der timestamp 0 bezeichnet den 1.1.1970.
warum nutzt du nicht DATE_FORMAT() in deiner sql-abfrage?
ehrlich gesagt wiess ich nicht wie, meine datenbankabfrage lautet:
select * from $tabla order by datum DESC
Date_format wird hier erklärt:
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_date-format
Damit kannst Du auf date() komplett verzichten.
habe jetzt folgendes probiert:
select nick, mensaje, DATE_FORMAT('datum', '%d %m %Y') from $tabla order by datum DESC
mit dem resultat, dass ich jetzt kein datum mehr erhalte (sorry, bin anfänger)
DATE_FORMAT(...) AS feldname
dann $row["feldname"]
Feldname = Ein beliebiger Name, der nicht als Spaltenname in der Tabelle vorkommt.
meintest du so???
select nick, mensaje, DATE_FORMAT('datum', '%d %m %Y') AS datum from $tabla order by datum DESC
ministry
15-05-2007, 20:20
DATE_FORMAT(datum, '%d %m %Y') AS datum
Edit: Genau, aber ohne die Tütelchen bei Datum (sonst versucht mysql nicht die Spalte datum sondern den String 'datum' umzuwandeln, was wieder nichts wird).
watt ne geburt - jetzt klappt es, danke für deine hilfe und geduld pekka
Bitte bitte! War ja nicht nur ich.