Статистика онлайна за N дней
Конечно же, рано или поздно встает вопрос о контроле посещаемости у администрации, у лидеров, и других ключевых персонажей RP сервера. Так вот, как же это реализовать?
Видел в слитых исходниках одного из проектов пример черновой реализации этой функции за неделю. Там все до безобразия просто - 7 полей в таблице у игрока, и с помощью определения дня недели онлайн сохранялся в нужное поле. В начале следующей недели - обнуление всех полей.
Пример конечно рабочий, но, как мне кажется, неправильный. Его нельзя расширить (вдруг мне понадобится статистика за месяц?), да и нагромождение виде 7 лишних полей - далеко не лучший вариант.
На ум приходит второй, более "правильный" со всех аспектов вариант.
Создать таблицу stats с полями -
id
user
enter_game - время авторизации
left_game - время выхода
И методом простого расчета left_game - enter_game - получаем время игры за одну игровую сессию.
Но встает ряд сложностей в плане реализации.
Например, мне нужно получить онлайн за последние 7 дней. Как составить такой запрос?
Допустим, я составил правильный запрос и получил данные. Теперь нужно как-то склеить все игровые сессии за каждый день и вывести в диалог по шаблону:
(дата) - (время в игре)
На что у меня тоже нет никаких мыслей.
Может кто нибудь сталкивался, и знает как это все решается?