Борисович
Доработанный вариант.
Структура таблицы
ID, IP, root_id
где root_id номер работы, к которой относится.
При голосовании идет проверка на такой ИП + номер работы.
Если нету - инсертится в таблицу.
А раз в 2 недели чистится например кроном.
Если без крона - то еще одно поле, дата.



