Я пытаюсь создать базовый eshop как назначение для онлайн-заказов (не для использования, просто чтобы мы научились использовать PhP и MySQL). Мой первый проект имел очень простые таблицы, которые имели все основные функциональные возможности. Однако профайлер попросил, чтобы мы создали продукты, чтобы один элемент мог принадлежать более чем к одной категории (изначально у меня была таблица категорий как простая таблица поиска). Я изменил мою DB схему следующим образом:Вставка элемента с несколькими категориями в MySQL DB
DB схемы для продуктов
При изменении остальных команд и запросов PHP и MySQL не было очень тяжело, я пришел в тупик, когда я необходимо добавить новый продукт и/или добавить к нему категории. Я использовал идентификатор категории из категорий <select>
в php и вставлял его как переменную в mysql, но я не могу сделать это в этой базе данных, так как у меня нет идентификатора новых элементов (auto increment) до того, как он фактически вставлен в таблица продуктов.
Единственное решение, которое я могу найти, - это вставить продукт в его таблицу, выбрать его идентификатор по последней дате, а затем сразу вставить этот идентификатор вместе с любыми идентификаторами категорий, которые пользователь выбирает (они находятся в таблице html вместе с флажком). Однако я не думаю, что это правильный путь, и я уверен, что существует более элегантная процедура. Если да, то кто-нибудь, пожалуйста, дайте мне указатель на который?
Почему это так срочно вставить * немедленно *? –
Сразу же может быть плохой выбор слова, но таблица prod_cat должна быть обновлена к моменту, когда пользователь получит сообщение «Новый продукт добавлен успешно». – Spyros