PHP + MySQL опрос

Я работаю над системой голосования.

Уникальность голосов гарантирована, потому что пользователь должен войти в систему, чтобы голосовать, и я веду запись для каждого голоса в виде пары (пользователь, опция).

Пользователь может повысить, понизить или отменить выбор опции, аналогично тому, как работает система голосования reddit или stackoverflow.

Мой вопрос связан с тем, как я могу вернуть результаты. Можно ли использовать функцию mysql COUNT () каждый раз (для подсчета всех голосов с заданным параметром option_id) или лучше иметь поле подсчета для самой опции? Проблема с полем подсчета состоит в том, что я должен каким-то образом синхронизировать его с записями голосования. С другой стороны, для многих вариантов и голосов, mysql COUNT () не подходит для перебора?

Я ищу эффективный архитектурный образец для такого рода систем голосования.

Изменить для описания структуры таблицы

К сожалению, у меня нет инструмента дизайна, поэтому я не могу нарисовать структуру таблицы. Структура не так сложна, поэтому я могу объяснить это словами.

У меня есть таблицы для опросов, вариантов и голосов. В одном опросе может быть много вариантов, а в одном варианте может быть много голосов, каждый голос может быть up_vote или down_vote. Каждый голос имеет внешний ключ, указывающий на одну опцию, за которую было проведено голосование, и один внешний ключ, указывающий на одного пользователя, поэтому я могу однозначно идентифицировать голос по паре (пользователь, опция).

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]