Есть подозрение что это кнопка типа лайка, если под нее отведен отдельный раздел(типо лайки или голосование) то в бд должна быть таблица связей: ид события(допустим лайка), ид пользователя, тип события(допустим лайк/дизлайк), ид объекта (картинки, или что там у вас), и таймстамп, возможно еще что-то. При повторном нажатии - выбирается из таблицы ид пользователя и ид объекта, с сортировкой по дате, лимит 1, если с момента предыдущего нажатия по таймстампу не прошло 3 часа - ничего не делаем, иначе вносим еще одно событие.