Можно попробовать всё автоматизировать :)
То бишь:
1) Создай одну переменную и в неё записывай сегодняшнее время (соответственно при входе/выходе работай именно с ячейкой сегодняшнего дня).
2) В БД создай, помимо 3-х ячеек для записи времени, одну ячейку для записи даты, в которую будешь записывать дату последнего изменения значения.
3) При каждом выходе с сервера загружай дату последнего изменения и значения всех 3-х ячеек, а далее уже пойдёт формула, типа
PHP код:
if(сохранённая_дата == текущая_дата) //Можно обе даты разбить на 2 числа: день и месяц, и уже сверять их
{
//сохраняем в ячейку с сегодняшним временем
}
else if(текущая_дата-сохранённая_дата == 1)
{
//В столбец с позавчерашней датой сохраняем значение вчерашней, а в столбец со вчерашней сохраняем значение последней сегодняшней (не обновлённой), а в сегодняшний сохраняем текущее время
}
else if(текущая_дата-сохранённая_дата == 2)
{
//В столбец с позавчерашней датой сохраняем значение вчерашней, а в столбец со вчерашней сохраняем значение -1 (не был на сервере), а в сегодняшний сохраняем текущее время
}
else
{
//Игрок не был на сервере больше двух дней, поэтому вчерашнее и позавчерашнее время на -1, а сегодняшнее равно текущему
}
Как-то так. Ну с использованием разделителя выйдет даже проще. Просто нужно будет сначала записать все 3 значения отдельно, а потом перетусовывать переменные в нужном порядке.
Ну и если время надо будет часто отображать, то лучше тогда 3, я думаю, создать 3 переменных, как сделал изначально ты и хранить время в них. Но если ты его будешь, например, чисто в статистике показывать, то лучше подгружать его с помощью запроса, ИМХО.
Вот. Если что не понятно - спрашивай