Страница 1 из 2

Запрет голосования за фото

Добавлено: 15 фев 2012, 09:42
gaponj88
Привет всем)Подскажите как сделать чтобы за фотографию можно было проголосовать только один раз одному человеку!
Нажал,а потом уже не мог бы нажать,по id но как?Где все id хранить,а потом сверять ;)
Я думаю что в txt файл на сервере,но может и другой вариант есть?Потому что фоток много,и не будешь ведь для каждой тхт создавать)

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 11:13
alexei
База.
id | photo_id | user_id
Потом проверяем:

Код: Выделить всё

SELECT id FROM votes WHERE photo_id = @photo_id  AND user_id=@user_id;
Если запрос не нулевой, то уже проголосовал. Если нулевой не голосовал.
Можно возвращать количество строк.

photo_id - лучше цифры, но можно извратиться и использовать ссылки на фото.

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 12:30
gaponj88
Не ну понятно но ведь не один человек голосовать будет,а если 100 200 1000??
или ты имеешь ввиду проголосовал чел новая строчка в базе,и так столько сколько проголосовало,если да то Намек понял)

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 13:00
Alazaur
Не вариант. 10.000 пользователей у каждого по 10 фоток и по 100 лайков на фотку = 10 миллионов строк в базе.
Храните список лайкнувших в отдельном поле для каждой фотки, экономичнее по ресурсам получится. Ну или, как вы говорите, хранить в txt-файлах тоже вариант, даже наверно самый ресурсо-экономичный, но расход дискового пространства в этом случае будет около 1Мб на каждые 120-150 фотографий.

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 14:43
gaponj88
10 фоток и по 100 лайков на фотку = 10 миллионов строк в базе
Да вот этого я и боюсь)Ладно буду разные способы пробывать)Потом отпишусь как лучше)

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 15:27
sanych_dv
SharedObject же.

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 15:33
Alazaur
sanych_dv, сейчас пользователь продвинутый пошел его кэшем не испугаешь...

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 17:01
alexei
Все равно таблицы будут самым эффективным методом.

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 17:27
gaponj88
Мне тоже так кажется)Да уж но ведь как -то делают,на ютубе например,миллионы просмотров миллионы голосовавших,где-то же все хранят,

Re: Запрет голосования за фото

Добавлено: 15 фев 2012, 17:39
alexei
У них самописная структура, до которой мы еще не доросли.