Seite 1 von 2

timestamp Problem

Verfasst: 30.08.2005 14:50
von fanrpg
Also ich will auf der HP zu einem Forum den Timestamp "user_birthday" und "user_regdate" auslesen das auslesen klappt auch aber wenn ich den timestamp per date() als Datum umwandeln tue dann erscheint nur 1.11970 oder 12.1.1970!

Wo ist der Fehler? o.ô

Hier der Quellcode:

http://ovdc-project.de/club/forspace.html

Hier die Testseite:

http://ovdc-project.de/club/index.php?page=mitarbeiter (einfach auf einen user klicken)

und hier der Code abschnitt der dafür gedacht ist den Timestamp umzurechnen

Code: Alles auswählen

$sql_2 = "SELECT * FROM `forum_users` WHERE `user_id` = '".$_GET['id']."'";
$sql_result_2 = mysql_query($sql_2);
$userrow = mysql_fetch_assoc($sql_result_2);
?>
<table border="0" width="69%" align="right" class="umrandung font">
<tr>
<th><?= $userrow['username'] ?></th>
</tr>
<tr>
<td>Dabei seit: <? echo(date("d.m.Y", $userrow['regdate'])); ?><br />
/* Und */
Geburtstag: <? 
if($userrow['user_birthday'] == "999999")
{
echo "Kein Geburtstag angegeben";
}
else
{
echo(date("d.m.Y", $userrow['user_birthday']));
} ?>
Klappt beides irgendwie nicht...

Wo ist der Fehler? o.ô

Verfasst: 30.08.2005 15:03
von Scoutman
versuch mal die timestamps ohne formatierung auszugeben. ich kann keinen fehler entdecken, die date() anweißung sollte so passen.

edit: sollte es nicht $userrow['user_regdate'] statt $userrow['regdate'] heißen??

Verfasst: 30.08.2005 15:08
von fanrpg
Das gibt der mir aus o.ô

Code: Alles auswählen

649401.01.1970
(als beispiel)

EDIT: hast recht mit user_regdate gibt er das Regestrierungsdatum aus aber bie Geburtstag funzt das nicht der timestamp oben ist von nem Geburtstag

Verfasst: 30.08.2005 15:12
von Scoutman

Code: Alles auswählen

649401.01.1970
also damit kann die date() anweißung echt nichts anfangen. ich weiß nicht was dieser string sein solle aber es ist mit sicherheit kein unix timestamp. steht das auch so in der DB in den feldern??

Verfasst: 30.08.2005 16:07
von fanrpg
das steht in der DB und das gibt er mir (jetzt!) aus:
Aber auf der Seite gibt er mir immer noch das aus:

Code: Alles auswählen

01.01.1970

Verfasst: 30.08.2005 16:10
von Blutgerinsel
Was wird in der DB gespeichert?
[ ] Unixtimestamp
[ ] MySQL Timestamp

Verfasst: 30.08.2005 16:23
von fanrpg
ehm kA :oops:

Das Feld heisst:

Code: Alles auswählen

Feldname:          Typ          Null   Standard
user_birthday 	int(11)	 	Nein 	999999 
Und das Feld kommt vom Birthday Mod

Verfasst: 30.08.2005 16:41
von Blutgerinsel
fanrpg hat geschrieben:ehm kA :oops:
Also Unixtimestamp d.h. date(); sollte das gewünschte Ergebnis anzeigen.

Ich tippe mal stark auf ein fehlerhaftes Insert mit einem fehlerhaften Datum.......

Wie rechnest du denn das Geburtsdatum in einen Unixtimestamp um?

Du hast die Möglichkeiten mit:
- strtotime -> englisches Datum
- mktime(0, 0, 0, $monat, $tag, $jahr)

Diesen Wert in die DB eintragen, dann sollte es stimmen

Verfasst: 30.08.2005 16:43
von fanrpg
Ehm kA wie das der Mod berechnet: http://mods.db9.dk/viewforum.php?f=2 und der kriegt das auch irgendwie umgerechnet o.ô

Verfasst: 21.02.2007 16:23
von mgutt
Kann man eigentlich Daten vor dem UNIX Beginn mit dem Timestamp abarbeiten?