Anzeige

[PHP + mySQL] Insert in ein date-Feld

[PHP + mySQL] Insert in ein date-Feld | PSD-Tutorials.de

Erstellt von papiertiger, 13.02.2006.

  1. papiertiger

    papiertiger Aktives Mitglied

    Dabei seit:
    12.08.2005
    Beiträge:
    364
    Geschlecht:
    weiblich
    [PHP + mySQL] Insert in ein date-Feld
    Hi Ihr!

    Ich hab in der MySQL-Datenbank ein Feld vom Typ date... Dort wird das Datum im Format 0000-00-00 angezeigt. Also Jahr-Monat-Tag. Ich möchte nun, dass man in ein Feld 12.02.2005 reinschreibt und das dann als 2005-02-12 in die Datenbank geschrieben wird...

    Wäre dankbar, wenn mir jemand weiter helfen könnte!

    LG papiertiger
     
    #1      
  2. Christian

    Christian verpeilt & verschallert

    Dabei seit:
    03.03.2005
    Beiträge:
    853
    Geschlecht:
    männlich
    Kameratyp:
    Canon EOS 300D
    [PHP + mySQL] Insert in ein date-Feld
    [php:1:d78911210c]<?
    $split = [VARIABLENNAME_DES_DATUMS];
    $exp = explode(".",$split);
    //Jetzt hat man eine Array, wo $exp[0] gleich dem Tag ist, $exp[1] der Monat und $exp[2] das Jahr ist

    //Das ganze könnte man jetzt so in die Datenbank eintragen (Beispiel)
    $ins = $exp[2];
    $ins .= "-";
    $ins .= $exp[1];
    $ins .= "-";
    $ins .= $ins[0];

    //und dann ganz typisch weiterverfahren

    $query="INSERT INTO [TABELLE](date) VALUES ('$ins')";
    mysql_query($query);

    ?>[/php:1:d78911210c]
    Ich hoffe, dass es dir bei deinem Problem geholfen hat!
     
    #2      
  3. splasch

    splasch Nicht mehr ganz neu hier

    Dabei seit:
    12.02.2006
    Beiträge:
    176
    [PHP + mySQL] Insert in ein date-Feld
    Hier nee Funktion zum Datum umwandeln

    Aufrufen beispiel:
    $angelegt = DatumsWandler($angelegt) ; // ins format jahr monat tag wandeln

    oder

    $angelegt = Wandlung($angelegt) ; // wieder rück wandeln tag monat jahr

    Code (Text):
    1.  
    2. function DatumsWandler($Datum) // Sql format wandeln jahr m T
    3.   {
    4.       if(strlen($Datum)==10)
    5.       {
    6.          $GewandeltesDatum = substr($Datum, 6, 4);
    7. //  $GewandeltesDatum .= ".";
    8.          $GewandeltesDatum .= substr($Datum, 3, 2);
    9. // $GewandeltesDatum .= ".";
    10.          $GewandeltesDatum .= substr($Datum, 0, 2);
    11.          return $GewandeltesDatum;
    12.      }
    13.     };
    14.  
    15. function Wandlung($Datuma) // Wieder ins format tag monat jahr
    16.   {
    17.       if(strlen($Datuma)==10)
    18.       {
    19.          $GewandeltesDatum = substr($Datuma, 8, 2);
    20.   $GewandeltesDatum .= "-";
    21.          $GewandeltesDatum .= substr($Datuma, 5, 2);
    22.  $GewandeltesDatum .= "-";
    23.          $GewandeltesDatum .= substr($Datuma, 0, 4);
    24.          return $GewandeltesDatum;
    25.      }
    26.     };
    27.  
     
    #3      
  4. papiertiger

    papiertiger Aktives Mitglied

    Dabei seit:
    12.08.2005
    Beiträge:
    364
    Geschlecht:
    weiblich
    [PHP + mySQL] Insert in ein date-Feld
    Hi Peter!

    Ja, das klappt ganz gut... Ich hab nur noch ein Problem damit...

    Wenn ich 11.11.1111 eingeb, wird in der Datenbank 1111-11-01 abgespeichert!? Warum?
    Edit: Hab den Fehler gefunden ;)

    Kann ich das hier:

    Code (Text):
    1. $ins  = $exp[2];
    2. $ins .= "-";
    3. $ins .= $exp[1];
    4. $ins .= "-";
    5. $ins .= $ins[0];
    6.  
    in einem Zug mit einer Zuweisung machen?

    Hab das so versucht:

    Code (Text):
    1. $ins  = $exp[2] . "-" . $exp[1] . "-" + $exp[0];
    Hi splash!

    Dir auch Danke!

    LG papiertiger
     
    #4      
x
×
×