Вот собственно и функция:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- /*
- CREATE TABLE `online` (
- `id` int(9) NOT NULL auto_increment,
- `user` int(9) NOT NULL,
- `time` int(4) default NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;
- */
- function Online()
- {
- //Индификатор времени (сейчас)
- //id пользивателя (или его ник)
- $iduser = 1;
- //смотрим есть ли инфа про данный id в базе
- $sql = "SELECT * FROM `online` WHERE `user` = '".$iduser."' LIMIT 1";
- {
- //если даный пользиватель есть в базе, обновляем его time
- $sql = "UPDATE `online` SET `time` = '".$time."' WHERE `user` = ".$iduser." LIMIT 1 ;";
- }
- else
- {
- //если пользивателя ещё нету в базе, заносим его туда
- $sql = "INSERT INTO `online` ( `id` , `user` , `time` ) VALUES ('', '".$iduser."', '".$time."');";
- }
- //дальше нужно удалить старые записи, я взял значения свыше 10 минут
- $delete = 10; //10min
- $sql = "SELECT * FROM online";
- {
- do
- { //Смотрим пользивателей в в которых time больше $delete
- if($time-$online['time']>=$delete)
- {
- //дальше удаляем этих пользивателей, что будет говорить об их оффлайне
- $sql1 = "DELETE FROM `online` WHERE `id` = ".$online['id']." LIMIT 1";
- }
- }
- }
- }
- //Запускаем функцию
- online();