Я не уверен, используете ли вы объектно-ориентированное кодирование, но в любом случае, если у вас есть «что-то» для голосования, я предполагаю, что у вас также есть другая информация об этом «чем-то», которая хранится либо в базе данных, либо в каком-то другом месте. другая среда.
При этом вы можете просто сохранить голоса в виде целого числа с объектом, за который проголосовали.
Пример. У вас есть сайт или блог, где пользователи могут голосовать за сообщения, сделанные другими пользователями.
Каждое сообщение будет храниться с такой информацией, как:
- Кто это опубликовал
- Дата
- Подробности поста
С помощью этой информации вы также можете хранить голоса за и против.
Или, если вы хотите пойти дальше, вы можете создать объект голосования и отношение к сообщению, если вы хотите хранить больше, чем просто количество голосов «за» и «против» (дополнительную информацию, например, кто проголосовал или дату, когда они проголосовали, если, например, вы не хотел, чтобы люди голосовали за одно и то же дважды).
Еще кое-что, о чем следует помнить, всегда отслеживайте все голоса «за» и «против» и используйте логику для определения отображения. Не просто держите одно целое число и добавляйте или вычитайте его. Пост с 1 плюсом и 1 минусом = 0 баллов — это не то же самое, что пост с 1000 плюсов и 1000 минусов = 0 баллов, поскольку он набрал 2000 просмотров, что само по себе должно что-то объяснять.
Правильный способ сделать это: Я знаю, что вы хотите отображать не суммы, а скорее смайлики, но вы все равно должны хранить их таким образом и отображать отображение по-другому.
- Создайте дополнительную таблицу и назовите ее как-то вроде голосования
- Храните информацию, такую как избиратель, дата, тип голосования
- Свяжите таблицу отношением «многие ко многим» между пользователями и голосами.
- Каждый раз, когда проводится голосование, обновляйте таблицу
- Рассчитайте разницу между взлетами и падениями и отобразите правильные смайлики на своем интерфейсе или отобразите их в виде числа
Способы "у меня дрянной клиент", "я ленивый" или "я пишу код на 2 часа сна":
- Создайте одно целочисленное поле с объектом, за который голосуют.
- Увеличивайте и уменьшайте это по мере того, как пользователи голосуют
Надеюсь, я понял вопрос, и это помогает!
person
Mia
schedule
11.08.2014