PHP datumsfrage

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
565
Hallo,

Ich habe mal wieder ein problem.
Ich schreibe ja gerade an einer art von "blog". Nun bin ich soweit das ich einträge schreiben kann.
Mir stellt sich aber nun die frage, wie gehe ich mit dem datum um?
Die herausforderung ist, das man auch einträge aus der vergangengeit einstellen kann. Also muss ich das datum manuell selektieren können.

Wie würdet ihr das lösen?
Die idee war, das per default immer das aktuelle datum genommen wird, nur per eingabe wird das datum überschrieben.
Was wäre jetzt aus programmierier sicht besser?
A) ein mysql feld namens datum und dort im dd.mm.yyyy format speichern?
b) ein feld für tag/ monat / jahr erstellen?

Die frage wäre auch, wie lässt es sich einfacher sortieren ?

Da ich noch einsteiger bin wäre ich über einsteigerfreundliche kommentare erfreut ;)
 
In MySQL gibts dafür ein Datentyp: DATE

Du willst schlussendlich aber wohl auch die Zeit mit drin, daher nimm ein DATETIME
 
c) ein feld englisch formatiertes datum YYYY-MM-DD HH:MM:SS erzeugen also ein datetime feld, das kannst du mit strtotime in einen phptimestamp umwandeln und datumsfunktionen drauf anwenden. darüber kannst du auch leicht sql statemants sortieren lassen.
 
Als Unix-Timestamp speichern.
Dafür brauchst du in der Datenbank nur einen integer.

Aktuelles Datum: time();
Beliebiges Datum umwandeln: mktime();

Timestamp in lesbares DAtum umwandeln: date();
 
Timestamp direkt würde ich persönlich nicht machen, weil du dann nicht bei einem Blick in die Datenbank das sehen kannst was der Vorteil von DATE oder DATETIME wäre.
 
Und wie mache ich es möglich beiträge aus dem letzten jahr zu schreiben ?
Das war ja meine eigentliche frage ...
 
Du trägst in dein Formular einfach ein Feld fürs Datum ein, am Ende muss die Eingabe (ich finde 3 Dropdowns persönlich besser als ein input feld) wieder ins gleiche Format in die Datenbank eingetragen werden.

Bei den 3 Dropdowns könntest du Tag, monat, Jahr von heute auch gleich vorselektieren.
 
Zurück
Oben