Datum richtig formatieren (MySQL)

LeroyGreen

Grünschnabel
Ich habe ein Problem bei der Datum Ausgabe.
Per Formular schreibe ich diverse Daten in meine Datenbank.
Dann will ich diese Daten ausgeben:
PHP:
while ($row = mysql_fetch_assoc($result)) {
   
    echo "ID: ".$row["id"]."</br>";
	echo "Name: ".$row["name"]."</br>";
    echo "Email: ".$row["email"]."</br>";
    echo "Thema: ".$row["thema"]."</br>";
	echo "Kommentar: ".$row["kommentar"]."</br>";
	echo "Eingetragen am: ".$row["datum"]."</br></br>";

Klappt alles soweit.
Allerdings wird das Datum so ausgegeben:
PHP:
Eingetragen am: 2009-12-09 05:54:47
Ist ja klar, weil ich das Datum noch nicht richtig formatiert habe.

Momentan sieht mein SQL Befehl so aus:

PHP:
$result = mysql_query("SELECT * FROM gaestebuch ORDER BY id", $db);

Mein Problem ist jetzt, meinen SQL Befehl mit dem vom Datum zu kombinieren.
PHP:
SELECT DATE_FORMAT(date,'%d.%m.%Y') FROM...

Ich bekomme das irgendwie nicht auf die Reihe.
Kann mir da jemand behilflich sein?
Muss ich den Stern bei SELECT weg lassen, und alles einzeln aufzählen, damit ich das Datum richtig formatieren kann ?
Ich komme einfach nicht weiter.
 
Hallo, besser ist es vielleicht wenn du in der Datenbank einen Timestamp setzt mit
PHP:
time()
Und diesen dann mit :
PHP:
echo "Eingetragen am: ".date('d.n.Y', $row["datum" ])." um ".date('H:i', $row["datum"]);
ausgibst, so kann du es ja nach Wunsch auch Formatieren. Ist wohl der einfachste weg. Mfg
 
Das klappt nicht ganz richtig.
Die Ausgabe ist:
PHP:
Eingetragen am: 01.1.1970 um 01:00
.
In MySQL habe ich das Datum auf TIMESTAMP gesetz.
Irgend etwas scheint noch zu fehlen.
 
Ich finde es besser, wenn du das Datum in SQL schon formatierst. Das Sternchen lässt du dann einfach weg und zählst alle Attribute, die du brauchst, einzeln auf.
Es ist sowieso schlecht, ein "select *" in einer Anwendung - und darunter fallen auch Webseiten - zu verwenden, weil du damit wahrscheinlich in Probleme läufst, wenn du die Tabelle in der Datenbank mal änderst.
 
Also quasi so:

PHP:
$result = mysql_query("SELECT 
					  			id,
					  			name,
								email,
								thema,
								kommentar,
								datum
														
						FROM gaestebuch ORDER BY id", $db);

Wo ich jetzt aber wieder bei meinem ursprünglichen Problem bin.
Wie bekomme ich das Datum formatiert und was muss als "typ" in der MySQL Datenbank eingetragen sein ? Momentan steht es auf TIMESTAMP.
 
Super, das hat geklappt !
Dankeschön für den Tipp.
Ich habe ettliche Variationen ausprobiert, aber nichts hatte geklappt.
Daran lag es:
PHP:
mytable.datum
Ich hatte dort nur datum drin stehen.
 
Man ist immer auf der sicheren Seite wenn man die Tabelle (oder besser den alias) als mit angibt. Gerade wenn man seine felder date, timestamp, name etc. benammst
 
Das wusste ich nicht. Bin ein Neuling in sachen MySQL und PHP.
Ich habe jetzt zwar schon diverse Bücher und Tutorials verschlungen, aber für manche Sachen findet man einfach keine Lösung.
Und wieder etwas schlauer geworden.
 

Neue Beiträge

Zurück