Timestamp / Probleme beim Auslesen!

Tservarius

Mitglied
Hallöchen!
Ich habe ein paar Probleme beim auslesen meines Timestamps aus der Datenbank

Das ist der Code:
PHP:
echo date("d.m.Y, H:i", $ausgabe[erstellungsdatum]);

So sieht der Timestamp in der Datenbank aus:
20041013155153

Und das ist der Output:
19.01.2038, 04:14

Sollte ja eigentlich sein:
13.10.2004 [Uhrzeit]

Warum zerhaut der mir das Datum so komisch und gibts nicht ordentlich aus?
Irgendwelche Lösungsansätze?

Danke im Voraus!
 
Das ist ein Wert eines MySQL Timestamp(14) Datentyp. Wenn du in deiner Query ein
Code:
SELECT UNIX_TIMESTAMP(erstellungsdatum) FROM xxx
machst, bekommst du den Unix Timestamp zum Weiterabeiten...


bye

//edit: mit echo time() gibst du "nur" den aktuellen Timestamp aus - das ändert nichts das es anders in der DB steht :)
 
mmm. also wenn meine sql-anweisung jetzt heißt
PHP:
$result = mysql_query("SELECT msgid, UNIX_TIMESTAMP(erstellungsdatum), user_from, betreff, nachricht, empfaenger_gelesen FROM privatmsg WHERE user_to='$_SESSION[user]' AND empfaenger_geloscht='0' AND msgid='$msgid'") or die(mysql_error());
$ausgabe = mysql_fetch_array ($result);

und der aufruf:
PHP:
echo date("d.m.Y, H:i", $ausgabe[erstellungsdatum]);

bekomm ich nun als output:
01.01.1970, 01:00
 
also entweder bin ich jetzt völlig kirre oder ich weis auch net weiter.
also nochmal ganz im detail wie es jetzt ist.

a) woher kommt der timestamp?
der timestamp wird automatisch generiert, wenn der datensatz angelegt wird
(wird halt als stinknormaler MYSQL-Timestamp gespeichert

b) wo liegt das problem?
will jetzt den timestamp abrufen und formatiert ausgeben. (hier ist halt das problem)

so siehts im moment aus:

PHP:
$result = mysql_query("SELECT msgid, DATE_FORMAT(erstellungsdatum, '%Y'), user_from, betreff, nachricht, empfaenger_gelesen FROM privatmsg WHERE user_to='$_SESSION[user]' AND empfaenger_geloscht='0' AND msgid='$msgid'") or die(mysql_error());

$ausgabe = mysql_fetch_array ($result);

Die Daten gebe ich in nem Array aus.

c) wie wird die ausgabe des timestamps eingebunden
So soll das formatierte Datum denn eingebunden werden:

echo("$ausgabe[erstellungsdatum]");

Der Array scheint so aber keine werte zu liefern, jedenfalls bleibt die ausgabe leer.

Wer findet den fehler *G* ?

ps.: wenn ich aus dem query das DATE_FORMAT(...) wegnehme und halt einfach nur die spalte auslesen lasse bekomme ich einen wert - aber halt nur den unformatierten mysql-timestamp wie er auch reingeschrieben wurde. (daten sind also vorhanden :) )
 
Ich hab mir jetzt extra schnell eine kleine DB angelegt - und es funktioniert in beiden Methoden...
PHP:
<?php 
   $link = mysql_connect("localhost", "XXXX", "XXXXX");
   mysql_select_db('test', $link);
   $result = mysql_query("SELECT DATE_FORMAT(start, '%Y') as start FROM XXXX") or die(mysql_error());
   while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
     echo "Date: ".$row['start']."<br>";   
   } 
   
   echo "<hr>";
   
   $result = mysql_query("SELECT UNIX_TIMESTAMP(start) as start FROM XXXX") or die(mysql_error());
   while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
     echo "Date: ".$row['start']."-> ".date("d.m.Y, H:i", $row['start'])."<br>";   
   } 
?>
die Ausgabe
Code:
Date: 2004
Date: 2004
Date: 2004
-------------------------------------
Date: 1097407974-> 10.10.2004, 13:32
Date: 1097593200-> 12.10.2004, 17:00
Date: 1097149015-> 07.10.2004, 13:36

Kann also nur eine Kleinigkeit bei dir sein...
 
lol. jo.. war wirklich nur ne kleinigkeit!

........as start......
hatte das vergessen. logischerweise wurde das datum zwar schön ausgelesen und formatiert aber nicht in die variable gespeichert :)

jetzt läuft alles super!

danke für die kompetente und schnelle hilfe!
 
Zurück