Я хочу создать систему на веб-сайте, которая позволяет пользователям делать что-то зависящее от их рейтинга. Например, у меня есть правило для рейтинга значение X:Возможности пользователя на сайте
- 1 пост в течение 3 дней
- 10 комментариев в 1 день
- 20 голосов 2 дня
для номинального значения Y, правило может быть следующее:
- 3 пост в 1 день
- 50 комментариев за 1 день
- 30 голосов в 1 день
Каждую ночь я пересчитывать рейтинги пользователей, так что я знаю, что каждый пользователь может сделать. Возможности не суммируются или не переустанавливаются при пересчете каждого рейтинга.
Еще одна важная вещь: администратор может заполнить конкретные возможности пользователя в любое время.
Что такое оптимальная структура базы данных (MySQL) для желаемого?
я могу рассчитывать, что конкретный пользователь сделал:
SELECT COUNT(*) FROM posts WHERE UserID=XXX AND DateOfPost >= 'YYY'
SELECT COUNT(*) FROM comments WHERE UserID=XXX AND CommentOfPost >= 'YYY'
Но как я могу сделать администратор возможность заполнения в этом случае?
+1 - хороший вопрос. Извините, я не могу на самом деле _help_ вы на нем; -P – Bojangles
Что означает «администратор может выполнять конкретные обязанности пользователя»? – R0MANARMY
Это означает, что если пользователь уже использовал некоторые собственные возможности (например, сообщения blogpost и 5 комментариев), а его полные возможности - «POSTS: 1, КОММЕНТАРИИ: 10», администратор может сделать, что у этого пользователя снова есть полные возможности »POSTS : 1, КОММЕНТАРИИ: 10 ". – Lari13