Veblomaster - az aktuális dátum mysql aktuális időbélyeg behelyezésének időpontjával
A leggyakoribb megoldás -, hogy hozzon létre egy idő mezőben. ahol az idő alatt a Unix formátumban (másodpercek számát attól a naptól számítva a feltételes születési dátum 1970-01-01 Unix):
mysql_query ( "ALTER TABLE` my_table` ADD` time` ideig nem NULL");
Most beszúrni egy cellába ideig lehet használni? Php time () függvény:
mysql_query ( "INSERT INTO` my_table` (` pole1`, `pole2`,` pole3`, `time`) VALUES ( 'sztring1', 'sztring2', 'Karakterlánc3', '". time (). "')" );
De ha már létrehoztunk egy mező nem Időformátumban. időbélyeg formátumban:
mysql_query ( "ALTER TABLE` my_table` ADD` time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP");
Azután, hogy a szükséges időt az időbélyeg formátuma. Erre a célra CURRENT_TIMESTAMP paramétert (aktuális idő) közvetlenül az INSERT lekérdezést.
mysql_query ( "INSERT INTO` my_table` (` pole1`, `pole2`,` pole3`, `time`) ÉRTÉKEK ( 'sztring1', 'sztring2', 'Karakterlánc3', CURRENT_TIMESTAMP)");
Azonban egy ilyen formátumú nehéz kiszámítani belül php script. Hogyan. például számítani, hogy hány másodperc óta eltelt hozzáadásával az utolsó üzenet az adatbázisban?
Ehhez először ki kell alakítani időbélyeg Unix-idő formátumban a php strtotime () függvényt.
Példa vizsgálatot, és idő transzformációk:
/ * A adatokat az adatbázis - nevezetesen az idő az üzenetet egy ID 1-ig, az időbélyeg formátumban * /
$ Sql = mysql_query ( "SELECT` time` FROM` my_table` WHERE` id` = '1' LIMIT 1");
$ Array = mysql_fetch_array ($ SQL);
$ My_time = $ array [ 'idő'];
/ * Konvertálása az időt Unix méret megfelelő időben * /
$ My_time = strtotime ($ my_time);
echo $ my_time ();
$ Time_offset = time () - $ my_time ();
Szerezd meg a másodpercek számát (1379415600) óta eltelt 1970-01-01 és a különbség másodpercben a jelenlegi pillanatban.