[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Голосование за комментарии
DonPrus
Доброго времени суток!
Суть проблемы - необходимо организовать систему оценки комментариев к статье.

Пользователи регистрируются, и может поставить комментарию + или -.
Потом хочу выводить только те, где + > -. То есть "полезные".

Для этого завёл отдельную табличку, где сохраняется uid пользователя, id комментария за который голосовал и столбец кармы, где значения 0 или 1.

Соответственно при оценке я проверяю - нет пытаемся ли мы добавить строку где uid и id которые уже были.
Если нет - добавляем.

Чтобы вывести я считаю строки с id комментария с кармой 1, это плюсы. Потом считаю строки с id комментария все, из него вычитаю кол-во строк где карма равна 1. Нахожу минусы. Потом сравниваю, и если + больше - вывожу этот коммент.

Внимание вопрос! Можно ли это оптимизировать/упростить?
waldicom
Если используется MySQL, то можно использовать REPLACE вместо "...я проверяю - нет пытаемся ли мы добавить строку где uid и id которые уже были..."
Если для минусов использовать -1 вместо 0, то для полезности можно просто выбирать сумма по коменту > 0

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
DonPrus
Цитата (waldicom @ 3.02.2014 - 01:19)
Если используется MySQL, то можно использовать REPLACE вместо "...я проверяю - нет пытаемся ли мы добавить строку где uid и id которые уже были..."
Если для минусов использовать -1 вместо 0, то для полезности можно просто выбирать сумма по коменту > 0

Да, а то у меня в моём варианте отредактировать никак нельзя было бы smile.gif
Учту.
А по поводу минусов -1, сейчас у меня в таблице строка типа булен - занимает вроде поменьше, чем числа со знаком, даже длинной 1.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.