| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Голосования |
| Автор: Mystery_of_being 8.11.2006, 00:52 |
| Привет всем. Если Голосование Одно. То это не проблем.. Но вот вопрос. У меня Галерея Юзеров. И в ней надо сделать голосование. Голосовать могут только зарегестрированные. Но не могу же я на всех за кого Юзер проголосовал отсылать ему Кукис. Я так понимаю мне придется писать Всех за кого он голосовал в Базу данных, а потом юзая КРОН в 24:00 очишать базу данных ? |
| Автор: SelenIT 8.11.2006, 02:33 |
| Mystery_of_being, если я верно понял задачу, то надо реализовать ограничение "не более 1 голоса от 1 юзера в сутки"? Или "не более 1 голоса за каждую кандидатуру в сутки от 1 юзера"? Впрочем, реализация обоих вариантов похожа. Только в первом пишем в базу "id_кто_голосовал - дата/время", а во втором - "id_кто_голосовал - id_за_кого_голосовал - дата/время", предварительно проверяя наличие точно такой же записи моложе 24 часов (если есть - запрещаем). А удалять старые записи (>24ч) можно не только по крону, но и просто раз в 100 запросов (например). |
| Автор: Mystery_of_being 8.11.2006, 22:09 |
| Ты меня правильно понял. Ну это понятно. Только вот делема с удалением... как понять 1 раз в сто запросов? Смотри. Вот юзер проголосовал за Олю и Диму в 22:00 и в 01:00 он опять за них может проголосовать. То есть это уже чисто по Крону ? А есть альтернатива какая-то ? |
| Автор: Powerhead 8.11.2006, 22:39 |
| Зачем крон, если ты сохранил время голосования в базе? Если TO_DAYS(now()) - TO_DAYS(`твое_поле`) больше нуля - голосовать можно. Для хранения времени используй тип TIMESTAMP http://www.mysql.ru/docs/man/Date_and_time_functions.html |