Забыли пароль?
Запросите новый здесь.

Автор темы: mishqa35
ID темы: 1063
Информация:
Тема содержит 7 сообщения, была просмотрена 2479 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Народное творчество
 Распечатать тему
Рейтинг для постов на форуме
mishqa35
Рейтинг для постов (сообщений) на форуме v.1.1 (+ и -)

Описание:
- Ajax отправка, и вывод результата.
- Пользователь может изменить свое решение на противоположное.
- Устанавливается как отдельный Плагин \ Панель.

В код движка не каких изменений не вносится.

Тестировалось на v7.02.05
mishqa35 присоединено следующее:файл:
forum_updown_panel_v11.zip [8.61кБ / 482 Загрузки]
mishqa35 присоединено следующее:изображение:
11soiovk5i.png

Изменил(а) mishqa35, 17.11.2012 23:01
x2 x2 x1
 
Web
Polarfox
Кнопочки мелковаты, и возможно +/- лучше?
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
mishqa35
Если стоит +1, а пользователь проголосует против то будет -1, если же наоборот то +2 (и так до +\- х значения)
Какие картинки были те и поставил ab

В базе попался аналогичный мод, там как раз сделано + \ -
 
Web
jikaka
Если стоит +1, а пользователь проголосует против то будет -1

а где же 0?
x1 x2
 
Web
Polarfox
Оффтопик Бротан ты не в-езжаешь в логику ab

Имеем - число после плюса:1, инкретемент: 1 = начальное число 0.
Голосуем в плюс = итоговое число 1
Голосуем в минус - 1. снимаем голос (промежуточное число:0) и 2.ставим его в минус = итоговое число -1

Логика же ag

А реально можно было бы и сделать переход - в плане юзабилити - отмена голоса, тогда был бы ноль. Или он и есть? ab
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
mishqa35
Это все из за проблемки, там одно поле щитает голоса 0 или 1, вот пример в базе есть 5 голосов с 0 и 4 голосо с 1
Скрипт щитал так
Скачать исходники  Код
$plus = number_format(dbcount("(post_id)", DB_FORUM_POST_RATINGS, "post_id='".$num['post_id']."' AND rating_value='1'")); // 4
$minus = number_format(dbcount("(post_id)", DB_FORUM_POST_RATINGS, "post_id='".$num['post_id']."' AND rating_value='0'")); // 5

echo number_format($plus - $minus); // 4 - 5 = -1




если же я меняю голос на противоположное
Скачать исходники  Код
$plus = number_format(dbcount("(post_id)", DB_FORUM_POST_RATINGS, "post_id='".$num['post_id']."' AND rating_value='1'")); // 5
$minus = number_format(dbcount("(post_id)", DB_FORUM_POST_RATINGS, "post_id='".$num['post_id']."' AND rating_value='0'")); // 4

echo number_format($plus - $minus); // 5 - 4 = 1



Тоесть если я хочу изменить свой голос то будет дополнительное +\- 1 число

Надо будет поправить код, а пока выложу новую версию где есть + и -
x1
 
Web
Polarfox
Лучше сделать таблицу с суммой, и пересчитывать эти кеши по итогу действия. Скорость же.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)