|
|
|
| Ситуация следующая:
Каждый юзер может проголосовать за комментарий другого юзера: либо положительно либо отрицательно. Чтобы обезопасится от накрутки, думаю сохранять в отдельную таблицу user_id голосовавшего и id комментария за который голосует. Также нужно как-то информировать юзера о том, что он уже голосовал за коммент. Это я думаю решить тем, что делать запрос в таблицу с голосами, и выберать ID всех комментов за которые голосовал юзер и класть их в массив. А при отображение каждого коммента проверять, есть ли ID этого коммента в массиве... если есть - следовательно за этот коммент уже голосовали...
Вот такая вот идея. Врпинципе здесь ничего особого нет, это меня и волнует. Возможно есть более сложные варианты, но зато более быстрые? Я просто немного озабоченный ... скоростью и нагрузкой :)))))))))) | |
|
|
|
|
|
|
|
для: JIEXA
(01.08.2007 в 21:39)
| | нет, только так и можно, если зарегиные юзеры, иначе куки - это проще, но от накрутки не спасёт =) | |
|
|
|
|
|
|
|
для: JIEXA
(01.08.2007 в 21:39)
| | Можно построить запрос к соединению
SELECT comments.*, votes.answer
FROM comments
LEFT JOIN votes ON comments.id = votes.comment_id AND votes.user_id = $current_user
|
которым получить как тело коментариев, так и факт (и оценку) голосований за них текущего пользователя. | |
|
|
|
|
|
|
|
для: Trianon
(01.08.2007 в 23:17)
| | ну построить запрос это дело десятое. все мы в пятом классе проходили LEFT JOIN.
Я ивел ввиду, может есть более хитрые способы хранения инфы о голосовавших. | |
|
|
|
|
|
|
|
для: JIEXA
(02.08.2007 в 03:12)
| | Какие хитрые способы? Классическое отношение N:M. Реализация таблицей связки. | |
|
|
|