Алгоритм системы рейтинга юзеров

Печать RSS
262

Автор
Голубые штаны
0
Ребята, подскажет алгоритм системы рейтинга юзеров на мускуле
а то я зделал но совсем простенький: добавил в таблицу юзеров поле с рейтингом, и если юзер ставит + то рейтинг повышается на +1, а если минус то обратно, но хотелось бы зделать какието ограничения, например чтоб юзер за одного пользователя смог голосовать 1 раз в стуки, и т.д. может лучше это все дело делать в отдельной таблице? Какие будут мнения?

Транклюкаторщик
0
Отдельная таблица, в неё записываешь "Кто, кому, какую оценку поставил и время этой оценки"
Автор
Голубые штаны
0
2. Дедушка Мороз, а может так и зделать но без поля какую оценку поставили, это поле будет в таблице юзера и к нему сразу +1 или -1 ставить. система будет +/- 1
О

Землянин
0
Сделай тиаблицу votes где такие поля user_id(ид юзера за кого проголосовали),type(поле типа enum или set, который содержит 2 значеня - plus/minus), user_id_votes - ид юзера, который поголосовал, date (дата, тип DATETIME)
Ну соответсвенно чтобы затем выбрать все голоса конкретного пользователя -
<? $sql = "SELECT COUNT(*) AS cnt WHERE user_id = $user_id AND type = 'plus'"; ?>
Изменил: Олег (25.12.2009 / 21:26)
C

Малиновые штаны
0
Делай еще одну таблицу. Тогда сможешь посчитать количество плюсов и минусовsmile

2000 лет д.н.э.
0
На кой фиг еще одна таблица нужна?
В профиле +2 поля.
rating, lastvote.
if($user['lastvote'] < (time()-(3600*24))){
голосуем. rating = rating+1 }else{
еще рано. }
ни каких лишних запросов, ни каких лишних таблиц. Эффект то же.
А

Чатланин
0
ramzes (Сегодня / 14:49)
На кой фиг еще одна таблица нужна?
В профиле +2 поля.
rating, lastvote.
if($user['lastvote'] < (time()-(3600*24))){
голосуем. rating = rating+1 }else{
еще рано. }
ни каких лишних запросов, ни каких лишних таблиц. Эффект то же.
надо продумывать все, вдруг потом еще захочеться сделать комментарий к каждому голосу за пользователя [+][-] , ну и множество других вещей.

2000 лет д.н.э.
0
Гм я как то не внимательно прочитал.. 'за одного раз в сутки' тогда и правда таблица нужна писать всех кому поставил и время.
сорри за ошибкуsmile
Автор
Голубые штаны
0
Да, я уже определился,и реализовал. Зделал еще одну таблицу. Всем спасибоsmile
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск