WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » mit php in mysql db einen Timestamp schreiben » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
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

Nach oben