База
Код: Выделить всё
CREATE TABLE IF NOT EXISTS `online_chat` (
`id` text character set utf8 NOT NULL,
`data` text character set utf8 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Код: Выделить всё
$user = $_SESSION['id']; //Сессия пользователя
$date = date(H.i.s); // Время
$data_real = $date - 250; // Вычитаем из времени захода пользователя 250 секунд..т.е если это время он не обновлял страницу то в списке Онлайн его не будет
$duble = mysql_query("SELECT * FROM online_chat WHERE id = $user",$sql); // Смотрим если такой пользователь в базе
$who = mysql_fetch_array($duble); // Обрабатываем массив
if($user == $who['id']){ // Если пользователь есть то удаляем его ид и записываем новое время его активности.
mysql_query("DELETE FROM online_chat WHERE id = $user",$sql); // Можно сделать и UPDATE но мне так удобней
mysql_query("INSERT INTO online_chat VALUES($user,$date)",$sql);
}
else // Если пользователя ещё нет в базе Онлайн то записываем
{
mysql_query("INSERT INTO online_chat VALUES($user,$date)",$sql);
echo 'net';
}
$array = mysql_query("SELECT * FROM online_chat WHERE data > '$data_real'",$sql); // Выводим пользователей
while($users = mysql_fetch_array($array))
{
echo $users['id'];
}
Вот и всё