"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

SOLVED: mysql und Auto-Datum Eintrag

grOOvekill@ 19.08.2003 - 13:29 511 2
Posts

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
S'gott,

keine Ahnung, ob es sich bei diesem Problem um ein leicht behebbares handelt, vermutlich schon. Hab's irgendwie trotzdem nicht hingekriegt.

Beispiel:
Einfaches Gästebuch, wo die Einträge in der mysql DB gespeichert werden. Neben dem Namen, der Email und dem Kommentar hätte ich nun gerne auch das Datum des Eintrages. Die Frage ist nun: Wo bekomme ich die am besten her?

Gibt es dafür eine eigene PHP/mysql Funktion? Soll ich das Datum auslesen und einfach in irgendein DB Feld reinschreiben um es mir dann von dort zu holen?

Irgendwelche Tipps?
Bearbeitet von grOOvekill@ am 19.08.2003, 16:02

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Du kannst eine Spalte vom Typ TIMESTAMP erzeugen. Wenn du deren Wert bei einem INSERT/UPDATE nicht explizit angibst wird sie mit der aktuellen Uhrzeit gefuellt. Existieren mehrere TIMESTAMP Spalten wird immer nur die erste automatisch aktualisiert [1].

Alternativ erzeugt du eine Spalte vom Typ DATETIME und schreibst das Datum rein.

Oder du machst einfach eine Spalte vom Typ INT und schreibst den Unix timestamp rein (entweder von PHP mit time() oder direkt im SQL mit UNIX_TIMESTAMP() [2]

[1] http://www.mysql.com/doc/en/DATETIME.html
[2] http://www.mysql.com/doc/en/Date_an..._functions.html

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
Alles klar, vielen Dank! Hab's mit der TIMESTAMP Methode gemacht, funktioniert pipifein. Hier die Lösung für diejenigen, die's interessiert:

Datenbank:
CREATE TABLE guestbook (
id int(4) NOT NULL auto_increment,
name varchar(30) NOT NULL default '',
email varchar(30) default '',
url varchar(50) default '',
comment text NOT NULL,
date TIMESTAMP(8) NOT NULL,
PRIMARY KEY (id)
)

Wobei das (8) beim Timestamp einfach die Art der Formatierung bestimmt, in diesem Fall also YYYYMMDD. Jo, so einfach geht's wenn man's weiß. :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz