tabulas struktūra varētu būt šāda:
CREATE TABLE `_online` (
`session` varchar(100) NOT NULL default '',
`uid` int(11) unsigned NOT NULL default '0',
`timestamp` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`session`),
KEY `timestamp` (`timestamp`)
) ENGINE=MEMORY;
Tālāk pats kods
$timestamp = $_SERVER['REQUEST_TIME']-60*60*10; // timestamp laikam šobrīd - 10 minūtes
mysql_query("DELETE FROM _online WHERE timestamp <= ".$timestamp); // izdzēšam visus vecos online
mysql_query("UPDATE _online SET timestamp = ".$_SERVER['REQUEST_TIME']." WHERE session_id = '".session_id()."' LIMIT 1"); // apdeitojam šīs sesijas laiku
if(mysql_affeched_rows() != 1) {
// ja neviens lauks nav updeitots, tas nozīmē, ka nav vēl tabulā, tātad insertojam
mysql_query("INSERT INTO _online VALUES ('".session_id()."', ".$_SESSION['user']['id'].", ".$_SERVER['REQUEST_TIME'].")");
}
uz fikso rakstīju, gan jau kāds papildinās :)