У вас для авторизованного пользователя всегда есть $user_id, а значит при любой активности (клике) можно обновлять значение "время активности" в БД для данного $user_id;
Чуть более оптимизированный вариант, обновлять время активности не чаще чем раз в какое-то время (раз в минуту например). Для этого используете сессии как промежуточное хранилище, запоминая когда в последний раз обновляли данные в БД. Если обновление было больше минуты назад, обновляем значение в БД снова.
При таком подходе, если пользователь, сделал за минуту 10 кликов на сайте, то в БД вы сделаете UPDATE 1-2 раза, вместо 10 раз.