Raffi: Probleme mit Datum

Hallo Ihr

Habe gleich 2 Probleme mit dem Datum

1. Ist es möglich wie beim AutoIcrement das Datum des Datensatzes in der MYSQL Datenbank automatisch zu speichern. Das heisst im Prinzip das Speicherdatum und Zeit des Eintrages.

2. wie kann ich die Datumsausgabe formatieren.

Bei mir kommt einfach 20021225153000 raus

Das sollte: 15.30 / 25.12.2002 heissen

gruss und danke raffi

  1. Hallo Raffi,

    1. Ist es möglich wie beim AutoIcrement das Datum des Datensatzes in der MYSQL Datenbank automatisch zu speichern. Das heisst im Prinzip das Speicherdatum und Zeit des Eintrages.

    wenn das Feld den typ 'timestamp' hat wird automatisch der aktuelle Timestamp gespeichert (allerdings auch beim ändern)

    1. wie kann ich die Datumsausgabe formatieren.
      Bei mir kommt einfach 20021225153000 raus

    wenn du was machst?

    Das sollte: 15.30 / 25.12.2002 heissen

    du musst das ganze einfach mit date() (->http://www.php.net/de/date) formatieren (einschließlich Punkten usw.)

    Grüße aus Nürnberg
    Tobias

    1. Das mit dem Format hab ich hingekriegt danke

      Das mit dem Timestamp...funktioniert das nicht, wenn ich im php myadmin einen neuen Datensatz anlege? Danach habe ich im Feld Timestamp

      00000000000000

      gruss
      raffi

    1. Ist es möglich wie beim AutoIcrement das Datum des Datensatzes in der MYSQL Datenbank automatisch zu speichern. Das heisst im Prinzip das Speicherdatum und Zeit des Eintrages.

    Wie bereits geschrieben, ist dafür der Typ timestamp zuständig. Der wird allerdings nur dann automatisch gesetzt/-ändert, wenn Du selbst nichts oder den Wert NULL (nicht 0!) für das Feld angibst und die Änderung betrifft IIRC auch nur das erste Feld.

    Wenn möglich, schau Dir mal den Befehl an, den phpMyAdmin zusammenstellt. Stellst Du "Funktion" vom für timestamp standardmäßigen now() auf Leer, wird der Wert "" eingesetzt. "" ist aber etwas anderes als NULL, deshalb erscheint die Angabe 0000... in diesem Datensatz. Willst Du die aktuelle Zeit haben, mußt Du schon entweder now() stehenlassen (gibt die aktuelle Zeit zurück) oder das Häkchen in der Spalte NULL setzen.
    Gibst Du später Daten per PHP o.ä. ein, lässt Du die Angabe für das timestamp-Feld einfach komplett weg.

    Die Beschreibung der MySQL-Datentypen findest Du in der MySQL-Anleitung: http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_types. Lesen bildet :>

    1. wie kann ich die Datumsausgabe formatieren.

    Bei mir kommt einfach 20021225153000 raus

    Das sollte: 15.30 / 25.12.2002 heissen

    http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_functions. Lesen bildet :>
    Willst Du das MySQL-Datum lieber per PHP formatieren, dann achte bitte darauf, daß die lange Zahl, die MySQL als Datum zurückgibt, nicht das ist, was die meisten Sprachen als "unix timestamp" erwarten! Um ein MySQL-Datum an PHPs Datumsfunktionen übergeben zu können, mußt Du den SQL-Befehl unix_timestamp() auf das MySQL-Feld anwenden.

    Gruß,
      soenk.e