Tom: Datum + Uhrzeit

Beitrag lesen

Hello,

die Aufgabe ist nicht ganz so trivial.
Wir haben da verschiedene Probleme zu beachten:

  • Der Client kann trotz Drop-Down-Liste senden was er will
      Fomulare sind leicht fälschbar
  • Das Datum wird von MySQL nicht überprüft. Du kannst in ein datetime-Feld auch
      2004-02-31 24:99:00  eintragen. Leider kann MySQL dann nicht mehr damit rechnen
  • Da die Datenbank aber umfangreiche Datumsfunktionen kennt, sollte man den Feldtyp
      auch aus dieser Familie wählen und nicht atomisieren.

atomisieren würde ich das Datum auch nur, wenn es auch unvollständig benötigt wird, also Du auch zum Beispiel Termine verarbeiten musst, die nur auf "Februar 2005" lauten, also kein Tag, keine Uhrzeit.

Aus den Select-Feldern musst Du Dir also den Datumsstring zusammenbauen. Ich würde dafür den Datentyp Timestamp in der datenbank benutzen. Der ist bei MySQL nicht identisch mit Unix-Timestamp!

20041021084200

wäre so ein Zeitstempel.

Um aus den verschiedenen Select-Feldern diesen Zeitstempel zu bauen, würde ich eine Funktion schreiben, die auch gleich überprüft, ob es das Datum und die Zeit gibt und ggf. eine Fehlermeldung zurückgibt. Die Funktion kann ja ein Array mit Fehlernummer, Fehlermeldung im Klartext und dem umgewandelten Wert zurückgeben. Wenn $ErrorNo dann > 0 ist, darf nicht verarbeitet werden --> Affenformular.

Und das Erstellen der Select-Felder würde ich auch einer Funktion übertragen. Das ist ja unkritischer, wenn man davon ausgeht, dass in der DB nur gültige Daten stehen.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau