Внимание! Форум временно закрыт. Все вопросы вы можете задать на странице MaxSite CMS в Github

Подскажите как правильно реализовать функцию "Кто онлайн"

Только для тех, кто понимает.
Аватар пользователя
dignityinside
Модератор
Сообщений: 471
Зарегистрирован: 05 июн 2010, 13:18

Подскажите как правильно реализовать функцию "Кто онлайн"

Сообщение dignityinside » 02 апр 2013, 23:29

Подскажите как правильно реализовать функцию "Кто онлайн". На форуме видел подобную функцию, но она не совсем подходит: http://forum.max-3000.com/viewtopic.php?f=4&t=27.

Там предлагалось что-то типа:

Код: Выбрать все

function who_online($interval = 900,$limit = 10)
   {
   
      $key = 'who_online';
      $ret = mso_get_cache($key);

      if( !$ret )
      {
         $CI = &get_instance();
         $CI->db->select('*');
         $CI->db->limit($limit);
         $CI->db->where("UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(`comusers_last_visit`) <  $interval");
         $query = $CI->db->get('comusers');
        
         if( $query->num_rows() )
         {
           $ret = $query->result_array();
           mso_add_cache($key,$ret,300); // в кэше на 5 минут
         }
      }
      
      return $ret;
   }


Но это как-то не правильно.
Мой блог:
http://blog.alexanderschilling.net

Аватар пользователя
jimmyjonezz
Модератор
Сообщений: 463
Зарегистрирован: 11 дек 2011, 17:06

Re: Подскажите как правильно реализовать функцию "Кто онлайн"

Сообщение jimmyjonezz » 04 апр 2013, 06:06

Я организовал через session (статья есть на моем сайте), все прекрасно работает. Проблема в том, чтобы вывети всех активных пользователей... я подумываю сохранять их (на какое-то время в куки или некую глобальную переменную).
stravaganza.ru

Аватар пользователя
MAX
Администратор
Сообщений: 3179
Зарегистрирован: 31 янв 2009, 19:02

Re: Подскажите как правильно реализовать функцию "Кто онлайн"

Сообщение MAX » 04 апр 2013, 10:22

В CodeIgniter в классе Session в хелпе есть пример сохранения сессии в таблице. Соответственно, чтобы вывести всех он-лайн можно одним запросом.

Аватар пользователя
searchingman
Модератор
Сообщений: 1392
Зарегистрирован: 28 май 2012, 16:02

Re: Подскажите как правильно реализовать функцию "Кто онлайн"

Сообщение searchingman » 04 апр 2013, 11:24

При использовании примера CI для класса Session не забываем про нюансы , связанные с префиксом.

Аватар пользователя
jimmyjonezz
Модератор
Сообщений: 463
Зарегистрирован: 11 дек 2011, 17:06

Re: Подскажите как правильно реализовать функцию "Кто онлайн"

Сообщение jimmyjonezz » 04 апр 2013, 12:32

searchingman писал(а):При использовании примера CI для класса Session не забываем про нюансы , связанные с префиксом.

Они просто забывают один нюанс:

Код: Выбрать все

CREATE TABLE " . $CI->db->dbprefix . "Table_name (
stravaganza.ru


Вернуться в «if (!is_type('Programmer')) die('not for you');»

Кто сейчас на форуме

Пользователь просматривает форум: Majestic-12 [Bot]

cron