EVK IT Сервис К
Мыслитель
(5226)
1 год назад
Это лучше сделать при событии когда очки пользователя меняются. И сразу записывать итог в базу.
Таблица рангов(ranks): rank_name, min_score_value
Таблица пользователя (users): current_score_value, rank_id (привожу не все поля, а необходимые)
В итоге по событию:
1) Получаем из ДБ ранг(и): SELECT id FROM ranks WHERE min_score_value <= current_score_value ORDER BY id
2) Update users SET rang_id =ranks .id
Потом при вызове пользователя Join Left рангов и получим сразу звание
Например: если у человека 100 очков то ему дается определенное звание
и т.д - 200 очков - другое звание
Срочно надо, помогите пожалуйста