Объясняю еще раз. Никто не меняет такие данные в браузерных играх в реальном времени, по многим причинам. Делают примерно так:
Code
$now = date('Y-m-d H:i:s');
$query = 'UPDATE game_chars SET time_work_begin = "' . $now . '", work_hours = "' . $hours . '" WHERE char_id = ' . $char_id;
Записали в базу время когда начал работать и "забыли", т.е. никто не проверяет и не смотрит сколько времени прошло или осталось. Смотрят только когда этот игрок в следующий раз откроет страничку, только тогда начинают считать. Т.е. у нас есть время когда начал работать и можно узнать сколько времени сейчас. Из этого можно высчитать сколько времени прошло с того времени как начал работать. Если отработал то что планировал - получи зарплату, если нет - вывели на экран сколько осталось работать.