WebMaster - data curentă mysql curente timestamp inserarea timpului

WebMaster - data curentă mysql curente timestamp inserarea timpului
Dacă doriți să urmăriți, în tabelul MySQL, timpul de adăugare a unei înregistrări (de exemplu: momentul în care mesajul a fost adăugat la baza de date), atunci există mai multe modalități de a implementa această idee.







Soluția cea mai comună este crearea unui câmp TIME. unde timpul va fi stocat în format Unix (numărul de secunde contorizat de la data condițională a nașterii Unix 1970-01-01):

mysql_query ("ALTER TABLE` my_table` ADD` time` TIME NOT NULL ");

Acum, pentru a introduce timpul în celula de timp, puteți utiliza funcția timpului php ():

mysql_query ( "INSERT INTO` my_table` (` pole1`, `pole2`,` pole3`, `time`) VALUES ( 'șir1', 'string2', 'String3', '" timp (). "')" );







Dar dacă ați creat un alt domeniu decât TIME. dar în format TIMESTAMP:

mysql_query ( "ALTER TABLE` my_table` ADD` TIMESTAMP time` NOT NULL DEFAULT CURRENT_TIMESTAMP");

Aceasta și introduceți timpul necesar în formatul TIMESTAMP. Pentru a face acest lucru, utilizați parametrul CURRENT_TIMESTAMP (ora curentă) direct în interogarea INSERT.

mysql_query ( "INSERT INTO` my_table` (` pole1`, `pole2`,` pole3`, `time`) VALUES ( 'șir1', 'string2', 'String3', CURRENT_TIMESTAMP)");

Cu toate acestea, un astfel de format este dificil de calculat în interiorul scriptului php. Cum. de exemplu, pentru a calcula numărul de secunde de la adăugarea ultimului mesaj la baza de date?
Pentru a face acest lucru, trebuie mai întâi să traducem TIMESTAMP în formatul de timp Unix folosind funcția php strtotime ().
Exemplu de interogare și conversie de timp:
/ * obțineți datele din baza de date, și anume timpul mesajului cu ID egal cu 1, în format TIMESTAMP * /
$ sql = mysql_query ("SELECT" TIME FROM `my_table` WHERE` id` = '1' LIMIT 1");
$ array = mysql_fetch_array ($ sql);
$ my_time = $ array ['timp'];
/ * converti timpul într-un format convenabil de timp Unix * /
$ my_time = strtotime ($ my_time);
echo $ my_time ();
$ time_offset = timp () - $ my_time ();

Avem numărul de secunde (1379415600) din trecut din 1970-01-01 și diferența de secunde față de momentul curent.







Trimiteți-le prietenilor: