Sönke Tesch: MySQL "DATE"

Beitrag lesen

Nun möchte ich mit dem MySQL-Typ "DATE" das machen. Jedoch ist der Standart ja immer 0000-00-00 ...

Standard, nicht Standart :)

Mein Problem (bzw. meine beiden Probleme) ist nun, dass ich nicht genau weiß wie ich das Jahr, Monat und Tag mit den 3 inputfeldern in dieses Format INSERT(en) kann

Der SQL-Befehl ist ein einfacher Text, Du mußt also lediglich Deine Daten zu so einem Text zusammenfügen. Beachte dabei aber, daß Du von außen kommende Daten nicht einfach roh weiterverarbeitest (Stichwort: mysql_escape_string()).

In Deinem Falle müsstest Du erstmal prüfen, ob es sich bei den drei Daten um Zahlen handelt und ob sie zusammen ein gültiges Datum ergeben. Deine Programmiersprache bietet Dir dafür sicher passende Funktionen an (is_numeric() und checkdate() fallen mir da für PHP ein).
Abschließend setzt Du diese drei Daten in den SQL-Text ein. Zum Formatieren gibt es fast überall eine Funktion namens sprintf(). Sofern vorhanden kann man alternativ auch mktime() und date() benutzen, das hätte den Vorteil, daß ein Datum à la 30.11.2003 automatisch in 1.12.2003 umgerechnet wird.

bzw. Wenn es drin ist dass ich dann in meiner Ausgabe nicht zb.:

2003-02-26  sondern  26.02.2003

MySQL bietet Dir ein reichhaltiges Angebot an Funktionen zum Bearbeiten von Daten an. Schau mal in die Anleitung: http://www.mysql.com/doc/en/Date_and_time_functions.html.

Gruß,
  soenk.e