Autor Zpráva
alfa123
Profil *
Idem robit ONLINE uzivatelov,

moj navrh je takyto:

Vedla uzivatelov si dam polozku online (datetime):

1.) po kazdej nacitanej stranke aktualizujem cas, teda update NOW();
2.) ak sa odhlasi cas vynulujem na 0000:00:00 alebo?

Ten druhy bod neviem presne, ako vlastne vynulujem cas?

Dakujem.
Akacko
Profil
alfa123
první bod je ok, a v tom druhém akorát testuj při každém načítáni, zda je li rozdíl aktuálního času a času v položce online větší jak stanovena doba. Pokud ano tak uživateli nastavíš status offline.
alfa123
Profil *
druhemu bodu nerozumiem ako napisem ten druhy dotaz?
Alphard
Profil
nevím, jaké jsou platné rozsahy, takže bych ho nenuloval, ale jen zmenšil

update jmeno_tabulky set jmeno_sloupce = date_sub(now(), interval '240' minute)
nastaví čas o 4 hodiny menší než je aktuální
alfa123
Profil *
super, to je asi ono, len nemusi to byt 4 hodiny ale asi len 30 minut, to je detajl

a este otazka:

- spravim select online(datetime) from tabulka
- mam teda $row['online'] -> napr. 2008-01-27 11:32:05

a chcem teraz vypysat

ak 15 minut neklikol na stranke -> neaktivny
ak 30 minut neklikol na stranke -> offline

ako spravim toto?

diky moc
djlj
Profil
alfa123
Pokud chceš takhle vypsat všechny jako nějaký seznam, ošetři si to už v php.
alfa123
Profil *
hej ako seznam a viem aj ze cez PHP, len viem tolko ze si to musi prehodit do UNIXOVEHO casu alebo takto, neviem.zacinam byt zufaly...

poradite?
Akacko
Profil
alfa123
No tak jak jsem psal:
$posledni_akce = mysql_result(mysql_query('SELECT UNIX_TIMESTAMP(online) FROM table WHERE....'),0);
$ted = time();
$rozdil = $ted - $posledni_akce; 
if ($rozdil < (15 * 60))
echo 'aktivni';
elseif($rozdil < (30 * 60) && $rozdil > (15 * 60))
echo 'neaktivni';
else echo 'offline';
alfa123
Profil *
dakujem :)) sikulka
Toto téma je uzamčeno. Odpověď nelze zaslat.