Какой сделать пятизвёздочный рейтинг? Я так понимаю, если 10 пользователей ставили оценку 5, то все 5 звёзд горели, но если 1 пользователь поставит оценку 3, то будет гореть только 3 звезды, я считаю, что это не правильно, 10 пользователем нравится и одному не нравиться и рейтинг из-за этого не должен так резко упасть? Наверно тут надо суммировать всех пользователей и потом уже искать как-то среднюю оценку. 10 пользователей поставило оценку 5. 1 пользователь оценку 3. Получается всего проголосовало 11 пользователей. 5*10 = 50 // 10 пользователей поставили оценку 5 1*3 = 3 // 1 пользователей поставили оценку 3 50+3 = 53 53/11 = 4.8 Другой вариант 5*10 = 50 3*7 = 21 50+21 = 71 71/17 = 4.1 Ещё 5*10 = 50 3*7 = 21 2*10 = 20 50+21+20 = 91 91/27 = 3.3 Я считаю что это неправильно, предлагаю, что лучше сделать 5 штук оценок * ** *** **** ***** И потом уже выводить количество проголосовавших пользователей, возле каждого поля. Или вообще лучше сделать как на этом форуме, что бы рейтинг просто увеличивался счётчиком?
"Лучше" — понятие субъективное. Программа решает задачи поставленные бизнесом. Глупо рассуждать о выборе не имея определённого запроса. Среднее арифметическое ты вычисляешь правильно. Только не забудь про деление на ноль. --- Добавлено --- Если рассуждать о достоверности оценок и противодействии накруткам, то это уводит нас далеко за пределы алгоритма среднего или медианы.
Что ещё надо предосмотреть? --- Добавлено --- Можно разрешить голосовать, только тем, кто зарегался не менее полугода назад
Ну без регистрации (с тел номером) максимум по ip. Можно еще в localStorage писать что бы школьников отсеять. --- Добавлено --- А вообще нужно смотреть по ситуации те же лайки добавляют пост в избранное соответсвенно можно сделать страничку с сортировкой и тут по ip лучше не резать.
По хорошему это делается иначе - звездочки ставят все с регистрацией и без, а в итоге выводится значение, которое админ или скрипт (случайным числом) сам назначит. Все равно никто не будет проверять истинность. А потом авторам постов можно продавать рейтинг
все так делают, но говорят, что рассчитывают "вес" аккаунта и на основании этого считают статистику, а те кто посмелее еще и моднющее слово релевантность сюда могут "запилить"... враки всё
Вот из-за таких идей иногда попадаешь на кино класса "залупа". @Dimon2x оставь оценки как есть, выводи среднее значение и не парься. Если так переживаешь, что на твоём ресурсе будут форсить рейтинг, то наверни логики по оценке рейтинга, типа количества низких оценок подряд и/или их отношение к остальным оценкам. Но нужно сидеть с напильником и пилить тесты.
@nospiou, все начинается с того какую цель преследует рейтинг. Если просто "потому что у всех есть - и я тоже хочу" - сойдет любая логика. Если есть желание получить за счет пользователей достоверную оценку контента - это по большей части миф.
Ну ты еще заставь кого нибудь зарегистрироваться... Людям даже кнопочку для регистрации через соцсети нажать лень. Да и смысл если то и дело что спамят. Я он пользуюсь временным емейлом когда прям заставляют. --- Добавлено --- кстати почему у меня такой странный ник... no(no)sp(spam)io(indian ocean)u(user)