von Whitechariot |
@ KeyLF
Es ist relativ unsinnig (zumindest überflüssig), in einen timestamp-Datentyp einer MySQL-Datenbank einen eigenen Wert schreiben zu wollen (wohlgemerkt reden wir von dem MySQl-Datentyp TIMESTAMP, nicht einer PHP-Variablen).
Dieser Datentyp wird nämlich bei jeder Veränderung des dazugehörigen Datensatzes automatisch von MySQL aktualisiert.
Damit dieser Automatismus funktioniert, darf im SQL-Aufruf diesem Feld entweder nur ein NULL-Wert zugewiesen werden oder es wird gar nicht explizit erwähnt.
Beispiel:
Ich habe eine Tabelle um Arbeitsberichte abzulegen, diese besteht u.a. aus den Feldern "beginn" (Typ: time), "ende" (time), "taetigkeiten" (text), usw... am Ende ist das Feld "angelegt" (Type: timestamp(14), Defaultwert NULL) definiert.
Wenn ich jetzt einen Datensatz schreibe...
$sql = "INSERT INTO berichte
( datum ,
user_id ,
berichtsart ,
beginn ,
ende ,
arbeitszeit ,
projekte ,
taetigkeiten ,
sonstiges )
VALUES
('$datum' ,
'$id' ,
'$berichtsart' ,
'$beginn' ,
'$ende' ,
'$arbeitszeit' ,
'$projekte' ,
'$taetigkeiten' ,
'$sonstiges')";
...dann wird das Feld "angelegt", welches ich selber gar nicht erwähne in meinem SQL-Statement, automatisch vom MySQL-Server mit dem Zugriffszeitpunkt beschrieben (das sieht dann so wie hier aus: 20020412123011). |
von zambas |
hab's bereits hinbekommen,
danke für die unterstützung
zambas |
von Can |
Hi!
Folgendes formatiert den Timestamp in ein Datum:
strftime("%d.%m.%Y um %R Uhr",time())
Can |
von zambas |
problem ist dann auch wieder das format, denn time() von gerade eben: 1044538482
das muss ich dann auch noch irgendwie umwurschteln, dass da hinterher auch ein vernünftiges datum wie: 06-03-2003 steht.
zambas |
von zambas |
mein anliegen war ja auch, dass ich beim reinschreiben die mysql-time des timestamps nutzen wollte.
zambas
|
|