Показать сообщение отдельно

  #4  
Старый 16.03.2009, 09:38
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Я думаю лучше запостить пример.


Создаём таблицу:
Код:
CREATE TABLE `sessions` (
  `sid` varchar(32) NOT NULL,
  `lastdate` datetime NOT NULL
) ENGINE=MyISAM;
Сам скрипт:

PHP код:
<?php
session_start
();

$interval 15//Интервал бездействия пользователя в минутах  

$sid session_id(); //Берём ID сессии

$sql mysql_query("SELECT * FROM `sessions` WHERE `sid` = '".$sid."'");


if(
$sql && mysql_num_rows($sql)){
    
    
/*
      Если сессия с таким ID уже записана, обновляем
    */ 
    
mysql_query("UPDATE `sessions` SET `lastdate` = NOW() WHERE `id_session`='".$sid."'");
    
}else{
    
    
/*
      Если нет, добавляем
    */    
    
mysql_query("INSERT INTO `sessions` VALUES('".$sid."', NOW())");
}

/*
  Удаляем записи пользователей не проявивших активность
  в течении времени указанного в $interval
*/

mysql_query("DELETE FROM `sessions` WHERE `lastdate` < NOW() - INTERVAL '".$interval."' MINUTE");


?>

И вывод типа того:
Код:
SELECT COUNT(*) AS `online` FROM `sessions`
 
Ответить с цитированием