Autor Zpráva
joe
Profil
Poradí mi prosím někdo, jak mám udělt následující:

Mám v db čas uložený jako datetime. A teď potřebuju od aktuálního času odečíst ten co mám v db (tedy datetime) a zkontrolovat, jestli to je více jak 5 minut třeba. Poradí někdo?
Leo
Profil
Databaze je MySQL? Leo
joe
Profil
Leo
Jasně, je to MySQL.
djlj
Profil
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
ninja
Profil
napriklad
... WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(sloupec) > (60*5)
Leo
Profil
Pak to udelejte primo v SQL dotazu, potrebujete fci NOW() a DATE_ADD nebo DATE_SUB, viz.

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

Leo
joe
Profil
Díky, na tyto funkce jsem taky před nedávnem přisel, vrátit čas třeba o 5 minut kratší tedy ještě udělám, nemůžu ale použít WHERE... chci ho prostě vrátit vždycky a teprve poté rozhodnout zda jestli je podmínka splněna či nikoliv. Snad jsem to napsal dobře, kdybyste mi ještě někdo poradil, tak budu moc rád, už se tu s tím trápím dost dlouho, nemám rád čas v php :-)
ninja
Profil
joe: chces tedy sjtenou podminku, ale kontrolovat az v aplikaci?

Pak tedy

if (time() - $unix_timestamp_hodnota_z_sql > (60*5))
...


---------------------

Priste zkus pouzit mozek a ne se na vsechno ptat.
Leo
Profil
"nemůžu ale použít WHERE... chci ho prostě vrátit vždycky a teprve poté rozhodnout zda jestli je podmínka splněna či nikoliv"

Tak ten vyraz s funkcemi nedavejte do WHERE, ale hned za SELECT, Leo
joe
Profil
ninja
Ano, přesně to jsem chtěl, díky. Příště bez těch připomínek, ne každý umí všechno.

Leo
A to bych mohl přímo výsledkem z db zjistit, jestli je podmínka splněná nebo ne. Jedná se o zjišťování, jestli je uživatel online/offline.
Takže přímo, mohl bych nějak dotazem zjistit jestli je uživatel on / off?

SELECT id, nick, DATE_SUB(NOW(), INTERVAL '10' MINUTE) FROM users WHERE .....";

Nevím jak to vrátit přímo ve výsledku, až tolik se v tom nevyznám.
Leo
Profil
"SELECT id, nick, DATE_SUB(NOW(), INTERVAL '10' MINUTE) FROM users WHERE ....."

Doplnite to jeste o MySQL fci IF a jste doma, Leo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: