Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
#1 · Zasláno: 9. 3. 2015, 17:52:59
Ahoj
$time = time(); $limit = $time+100; $mysqli->query("UPDATE users SET Online = '0' WHERE LastActivity < '$limit'"); |
||
juriad Profil |
#2 · Zasláno: 9. 3. 2015, 17:58:45
IdemeNaHavaj:
Proč vůbec potřebuješ sloupec „Online“? Stačí přece, že existuje session, nebo přísněji, že LastActivity >= $limit .
Zbytečně zavádíš redundanci. |
||
IdemeNaHavaj Profil |
#3 · Zasláno: 9. 3. 2015, 18:14:03
cron nevie zistiť že ktorý user zavrel prehliadač, a " >= " mi nereaguje.
|
||
juriad Profil |
#4 · Zasláno: 9. 3. 2015, 18:18:22
IdemeNaHavaj:
To neví určit ani PHP. K čemu potřebuješ vědět, že uživatel zavřel prohlížeč. Víš o tom, že může zavřít panel a ten třeba za 10 minut zase obnovit? Já se snažím ukázat nesmyslnost sloupce „Online“. |
||
IdemeNaHavaj Profil |
#5 · Zasláno: 9. 3. 2015, 18:30:31
Skusim priklad:
Na stranke su useri "A", "B", "C" User B zatvori prehliadac a o minutu mu cron nastavi status offline (online = 0) Takto useri A a C zistia, ze B zmizol. Bez tohto stlpca si A a C ako zistia ze B zavrel prehliadac, ked nevedia zistit ci existuje jeho session? |
||
juriad Profil |
#6 · Zasláno: 9. 3. 2015, 18:36:21
Takže ty budeš muset z prohlížeče kontaktovat server každých pár sekund, aby si server pořád myslel, že je uživatel Online, i když je nečinný. Pořád tam nevidím úlohu pro Cron - prostě ten časový limit nebude několik minut, ale třeba 30 sekund.
|
||
IdemeNaHavaj Profil |
#7 · Zasláno: 9. 3. 2015, 19:59:30
No proste to tak mám tak sa pytam na riesenie.
|
||
juriad Profil |
#8 · Zasláno: 9. 3. 2015, 20:01:17
IdemeNaHavaj:
OK, předpokládejme tedy, že problém je jen v tom dotaze a nikoli v jeho smyslu. Jakého datového typu je LastActivity? |
||
tiso Profil |
#9 · Zasláno: 9. 3. 2015, 20:03:35
$limit = $time-100; |
||
IdemeNaHavaj Profil |
#10 · Zasláno: 9. 3. 2015, 20:33:42
juriad:
INT tiso: to si myslel s tym >= alebo s tym <? |
||
juriad Profil |
IdemeNaHavaj:
Aha, nevšimnul jsem si, že příčítáš místo odečítání. Tvůj dotaz nech, tak jak je, jen odstraň apostrofy (jsou to čísla, ne řetězce). To opravdu chceš spouštět Cron každých ~100 sekund? |
||
IdemeNaHavaj Profil |
#12 · Zasláno: 9. 3. 2015, 20:42:22
juriad:
Každu minutu, čo je na tom zlé ved to je za ani nie 0.5s spravené |
||
tiso Profil |
#13 · Zasláno: 10. 3. 2015, 00:00:10
IdemeNaHavaj: „to si myslel s tym >= alebo s tym <?“
Čo ti bráni to vyskúšať? |
||
Časová prodleva: 9 let
|
0