Независимо от того, что вы выбираете для «наблюдения», общая концепция довольно проста. У вас есть реляционная таблица с идентификатором пользователя и идентификатором элемента. Эта таблица добавляется в событие (нажмите или отправьте форму, однако вы решите это сделать). В любом случае ее очень легко реализовать. Если вы знаете, как вставить в базу данных, мне не нужно объяснять процесс.
Затем вы можете запустить скрипт поиска и уведомления при изменении таблицы или запустить cron, который проверяет каждую минуту.
Это настолько расплывчато, что моей душе больно публиковать, но в конечном итоге общая концепция проста. войти в отношения. проверять каждую минуту, чтобы увидеть, если пользователь должен быть уведомлен. конец истории.
Теперь, для более подробного описания или реального кода, вы можете сузить свой запрос. Было бы полезно узнать, используете ли вы фреймворк или выполняете прямые запросы mysql. Вы можете установить cron? и т.д.
Я обновлю, если вы предоставите информацию, достаточную для четкого ответа.