История изменений
Исправление KennyMinigun, (текущая версия) :
Нагрузка на движок будет большая (имхо)
Ну, например так (один дополнительный SQL запрос, имена вымышлены):
select n.id -- айдишник сообщения из уведомления
from
user_notifications n -- таблица с уведомлениями
where
n.user = :current_user -- этот юзер
and n.read = false -- только непрочитанные
and n.thread = :current_thread -- айдишник треда:
-- /forum/<cat>/<current thread>
order by n.date asc -- самое ранее непрочитанное сверху
limit 1 -- нам нужно только самое первое
Потом, если n.id != null, на сервере отдавать 307 temporary redirect:
/forum/<cat>/<current thread>?cid=<n.id>
Правда, лучше сделать отключаемой опцией.
Исправление KennyMinigun, :
Нагрузка на движок будет большая (имхо)
Ну, например так (один дополнительный SQL запрос, имена вымышлены):
select n.id
from
user_notifications n
where
n.user = :current_user -- этот юзер
and n.read = false -- только непрочитанные
and n.thread = :current_thread -- айдишник треда:
-- /forum/<cat>/<current thread>
order by n.date asc -- самое ранее непрочитанное сверху
limit 1 -- нам нужно только самое первое
Потом, если n.id != null, на сервере отдавать 307 temporary redirect:
/forum/<cat>/<current thread>?cid=<n.id>
Правда, лучше сделать отключаемой опцией.
Исходная версия KennyMinigun, :
Нагрузка на движок будет большая (имхо)
Ну, например так (один дополнительный SQL запрос, имена вымышлены):
select n.id
from
user_notifications n
where
n.user = :current_user -- этот юзер
and n.read = false -- только непрочитанные
and n.thread = :current_thread -- айдишник треда:
-- /forum/<cat>/<current thread>
order by n.date asc -- самое ранее непрочитанное сверху
limit 1 -- нам нужно только самое первое
Потом, если n.id != null, на сервере отдавать 307 temporary redirect:
/forum/<cat>/<current thread>?cid=<n.id>