Вывод процентного соотношения голосовавших «За и Против»

Процентное соотношениеПришла идея, реализации для удобства пользователей, своего рода процента голосования. То есть, сейчас выводится голосование в виде числового значения вроде
рейтинг: 4.51
а хотелось бы для удобства пользователей сделать мехнизм который бы расчитывал это значение в виде процентов, это бы смотрелось для топиков и комментариев очень хорошо:
допустим проголосовало 4 человека, 2 человека за а 2 против то есть выводится будет 50%
Лучше даже на мой взгляд будет смотреться если будет выводится примерно так
рейтинг: 0 50%
пользователи будут знать что за топик голосовали но было равное количество голосовавших за и против..:)

Хотелось бы выслушать мнение что об этом думаете и нужна ли такая функция..?
Если у кого то есть мысли как это можно реализовать, буду очень благодарен за вашу помощь, пока же сам немогу даже понять с чего начать..:(

12 комментариев

avatar
Функция интересная…
avatar
Да, мне тоже кажется что она будет очень полезна для пользователей..;)
avatar
Можно по аналогии с ebay: общее кол-во отзывов/общее кол-во отзывов+кол-во негитивных
avatar
Да, тоже неплохой вариант..:)
avatar
/templates/skin/new/topic.tpl в нужное место добавить:

{if $oTopic->getRating() > 0}
Рейтинг: {math equation="a / x * y" a=100 x=$oTopic->getCountVote() y=$oTopic->getRating() format="%.0f"}%
{/if}
avatar
Большое спасибо, не ожидал что это так просто..:) сейчас буду пробовать..;)
avatar
это не заработает. во-первых, не учтен отрицательный рейтинг, во-вторых, рейтинг может быть +12 при трех проголосовавших (есть же вес голоса)
avatar
Сейчас с этим и столкнулся когда стал тестировать. А может кто подскажет, возможно ли учитывать каким то образом и положительных и отрицательных проголосовавших..?
avatar
возможно.

но придется дописать плагином дополнительные функции, которые будут возвращать в шаблон количество проголосовавших в плюс и в минус.

если нужен еще более сложный вариант, учитывающий вес голосов (например, при одном голосе +4 и одном голосе -1 рейтинг должен быть не +50%, а +80%), «дополнительные функции» должны запрос делать в таблицу prefix_vote, там вся история голосования с весами голосов.
avatar
А, всё понятно… Спасибо за помощь, буду пробовать..:)
avatar
Ну я дал наводку, конечно это не готовый вариант
avatar
За это Вам большое спасибо, там уже сам попробую сообразить как лучше расчёт сделать..:)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.