Подскажите как организовано на сайтах избранное или допустим корзина в интернет магазинах ?
То есть изначально в общем списке возле каждого названия есть кнопка “добавить в избранное”, после нажатия выводим вместо нее кнопку “Удалить из избранного”.
Важно чтобы пользователь не мог добавить себе два одинаковых пункта.
Допустим у меня две таблицы:
“Каталог ссылок” – ссылки с описанием
и “избранное” – хранит id добавленной в избранное ссылки и id пользователя который ее добавил
Изначально из “Каталог ссылок” выводится так
Теперь пользователь ( User 5 ) добавил к себе в избранное ссылку “ Ссылка 11111” (Описание 2 ).
Для него теперь каталог должен выглядеть так
Единственное что смог сделать так это не выводить пользователю ссылки из общего каталога те которые он добавил ( увидеть он их может в личном кабинете ), но это не вариант.
Выбирал следующим образом:
SELECT * FROM “Каталог ссылок” WHERE id_cat NOT IN (SELECT Id_url FROM “избранное” WHERE Id_user = User 5)