Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Problem mit Formular und Datumsübertragung

  1. #1
    Registrierter Benutzer
    Registriert seit
    18.07.2006
    Beiträge
    13

    Problem mit Formular und Datumsübertragung

    Hi,

    hab mir ne PHP/MYSQL Knowledgebase aus m Netzt gesaugt und bin dabei diese anzupassen.
    Bei dieser Knowledgebase kann man Artikel einsenden die dann nach Prüfung freigeschaltet worden.

    Bisher war es so das das Datumsfeld(SubmitDate) in der MYSQL Tabelle als timestamp deklariert wurde und immer das letzte Update des Artikels angezeigt wurde.

    Jedoch soll nun das Erstellungsdatum angezigt werden und nich das letzte Update. Daher habe ich das bisherige Feld (SubmitDate) auf date umdeklariert.
    (Tabelle is noch leer)

    In der entsprechenden PHP Date habe ich folgenden Part hinzugefügt:

    <?php
    $submitdate= date();
    ?>

    und beim schreiben in die Tabelle hab ich die Variable ebenfalls hinzugefügt:

    $query = "INSERT into MYSQLTabelle (..., Submitdate) VALUES (...,'$submitdate')";

    Allerdings wenn ich einen neuen Eintrag mache bzw das Formular abschicke wird alles normal gespeichert außer das Datum, dem wird der Standartwert 0000-00-00 zugewiesen.

    Hoffe ihr könnt mir helfen, irgendwas mach ich da ja noch falsch.

    mfg concholio

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Falsche Ausführungs Zeichen wenn du ' verwendest wird der String als Konstante behandelt
    PHP-Code:
     (..., FROM_UNIXTIME('" . $submitdate . "')) 
    bzw. Das Brauchst du auch nicht machen ein NOW() ist besser!
    PHP-Code:
     (...,NOW()) 
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  3. #3
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo,

    hier war undefined etwas vorschnell...

    Die Art wie du deinen Insert machst ist korrekt - die einfachen Anführungszeichen gehen OK, da du aussenrum doppelte verwendest.

    Dein Problem ist folgendes: du verwendest in der MySQL Datenbank den Datentyp "DATE" (Format: YYYY-MM-DD) und willst diesem Feld einen Unix Timestamp (Format: Anzahl Sekunden seit 01.01.1970 00:00) übergeben. Diese beiden Datumswerte sind natürlich nicht kompatibel!

    Entweder du verwendest als MySQL Datentyp ein Integer Feld (INT) und übergibst ihm den Unix Timestamp, oder du wandelst den Unix Timestamp in das Format YYYY-MM-DD um. Das geht so:

    PHP-Code:
    $datum date('Y-m-d'
    Siehe auch: http://de3.php.net/date

    Gruß,

    Gaert


  4. #4
    Registrierter Benutzer
    Registriert seit
    18.07.2006
    Beiträge
    13
    Sorry das ich erst jetzt antworte, bin ein paar Tage nicht ins internet gekommen.

    Es funktioniert jetzt, hab den Datentyp in der MYSQL Tabelle immernoch auf "date", jedoch habe ich die $submitdate ganz weg gelassen und wie undefined geschrieben hat ein NOW(), bei den VALUES benutzt anstatt der Variable.
    So funktioniert es jetzt.

    mfg concholio

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •