Най-разпространеното решение - да се създаде поле TIME. където времето се съхранява във формат Unix (брой секунди, считано от деня, датата на раждане 1970-01-01 Unix условно):
mysql_query ( "ALTER TABLE` my_table` ДОБАВИ` time` ВРЕМЕ НЕ NULL ");
Сега, за да вмъкнете в срок клетка може да се използва Php време () функция?:
mysql_query ( "INSERT INTO` my_table` (` pole1`, `pole2`,` pole3`, `time`) стойности (" string1 "," string2 "," String3 "," ". време (). '") " );
Но ако сте създали поле не е във формат TIME. и датата и часа формат:
mysql_query ( "ALTER TABLE` my_table` ДОБАВИ` time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ");
След това сложете в необходимото време във формат TIMESTAMP. За тази цел параметър CURRENT_TIMESTAMP (текущо време) е директно в заявката за INSERT.
mysql_query ( "INSERT INTO` my_table` (` pole1`, `pole2`,` pole3`, `time`) стойности (" string1 "," string2 "," String3 ', CURRENT_TIMESTAMP) ");
Въпреки това, такъв формат е трудно да се изчисли вътре Скриптът. Как. например, за да се изчисли броя на секундите, изминали от добавянето на последното съобщение в базата данни?
За да направите това, първо трябва да конвертирате във формат TIMESTAMP Unix време с помощта на PHP strtotime (функция).
Пример справочни и време трансформации:
/ * Вземи данните от базата данни, а именно - към момента на съобщението с идентификационен номер от 1, в TIMESTAMP формат * на /
$ Sql = mysql_query ( "SELECT` time` ОТ` my_table` WHERE` id` = "1" ГРАНИЦА 1 ");
$ Array = mysql_fetch_array ($ SQL);
$ My_time = $ масив [ "време"];
/ * Конвертиране на времето в Unix формат удобно време * /
$ My_time = strtotime ($ my_time);
ехо $ my_time ();
$ Time_offset = времето () - $ my_time ();
Вземете броя на секунди (1379415600) са минали от 1970-01-01 и разликата в секунди от текущия момент.