[ root_sys @ 13.01.2012. 11:06 ] @
Pozdarv raja :)


Imam problem oko kojeg se mučim vec tri dana i jos uvijek ne vidim neko rješenje.
Naime, na sajtu imam tabelu pod nazivom: "logovanja" koja sadrzi sliejdeca polja:

+--------+--------------+----------------------+----------------------+---------------+
|id_sesije | korisnicko_ime | vrijeme_prijave | vrijeme_odjave | vrijeme_online |
+--------+--------------+----------------------+----------------------+---------------+
|9987447| Krcko_xxl |2012-01-03 15:45:12 | 2012-01-03 17:55:12 | 7800 |
+--------+--------------+----------------------+----------------------+---------------+

Dakle, skripta upisuje prijavu i odjavu korisnika te vrijeme provedeno na sajtu (u sekundama).
U bazi ima trenutno preko 100.000 logova od oko 2000 korisnika. Sad mi treba skripta s kojom mogu provjeriti ko je sve u određenom vremenu (npr: 2012-01-03 15:58:00) bio online.
Nije problem provjeriti ako se recimo poklapalo vrijeme prijave ili odjave korisnika vec je problem ako je trazeno vrijeme "negdje između"!???
[ VladaSu @ 13.01.2012. 11:22 ] @
WHERE vreme_prijave>X AND vreme_odjave<X

Ne znam kako si siguran da ce ti se svako odjaviti da bi mogao da upises vreme a ne da ce puci veza ili ce jednostavno iskljuciti browser?

Ja bih izbacio vreme odjave i ostavio vreme online jer je onda vreme odjave vreme_prijave + online.
Kada se neko odjavi onda updatujes vreme online da bude vreme - vreme_prijave.
Ako je pukla veza onda ce ti ti ostati vreme_prijave i online vreme pa preracunas.

Ili ti je jos bolje da imas vreme_prijave i vreme_odjave u updatetujes vreme_odjave
[ ivan.a @ 13.01.2012. 16:13 ] @
Vreme odjave jedino možeš pratiti tako što na svakih 10-20 sec. ažuriraš polje sa trenutnim vremenom. Kada se više to polje ne ažurira to je ujedno i polje odjave (korisnik se odjavio, zatvorio je browser, pukla veza...). Samo je pitanje koliko je ovaj način pouzdan i isplativ.
Naravno, vreme odjave možeš i da preračunaš tako što dodaš sekunde od "vreme_online" na "vreme_prijave", tako da to polje nije toliko bitno, ali može da se indeksira ukoliko imaš neke filtere po kojima filtriraš korisnike po vremenu online za određeni vremenski period.
Da bi selektovao korisnike koji su se prijavili u vremenu od - do imaš primer u postu iznad.
[ root_sys @ 14.01.2012. 11:47 ] @
Hvala ivane i vlado na odgovorima. Uspio sam nesto napraviti po vasim uputama. Problem odjave sam riješio sa sesijama i provjerama svakih 5 minuta . Jos jednom hvala puno i ako sta zatreba javim ;)