я создаю базовую страницу продукта на веб-сайте электронной коммерции (панель администратора)
где у меня есть стол category
(с male
или же female
)
затем man
таблица, в которую я положил категорию продукта, как часы для уборки и т. д.
то же самое в female
стол (предметы для макияжа, платья и т. д.)
и третий стол product
где все продукты, где все продукты будут вставлены в порядке
так что теперь я хочу связать их таким образом, что (предположим, выпадающий интерфейс)
в категории я выбираю мужчину
тогда это взять идентификатор мужчины из таблицы «категория» предположим, что это 1
а затем из другого выпадающего списка «мужской» таблицы, если я выберу набор для груминга с идентификатором предположим, что 1 там
таблица продуктов автоматически берет эти идентификаторы из этой таблицы …
например
я описываю структуру таблицы
CATEGORY
CAT_ID CAT_TITLE *(cat_id to auto increment so if i add kids = 3 )
1 MALE
2 FEMALE
MALE
M_ID M_TITLE *M_ID auto increment
1 GROOMING KIT
2 WATCHES
FEMALE *f_id auto increment
F_ID F_TITLE
1 DRESSES
2 SHOES
товар
p_id(*auto increment) CAT_ID(*must auto matically take id from category) g_id(*must take id from male or female title)
так что я знаю, где вставить продукт на странице
Я вижу проблему со структурой базы данных еще до того, как мы приступим к кодированию.
Удалите таблицы MALE и FEMALE и используйте только таблицу PRODUCT. Затем добавьте внешний ключ из ПРОДУКТА в КАТЕГОРИЮ. Вот так:
CATEGORY
Cat_id: primary key
Cat_title: male or female
PRODUCT
Product_id: primary key
Product_name
Product_price
... other product fields ...
Product_Cat: foreign key to CATEGORY:Cat_id
Таким образом, вы сможете работать со всеми вашими продуктами из одной таблицы (например, сортировать по цене, безотносительно к категории).
В своих запросах вам нужно будет объединить ПРОДУКТ и КАТЕГОРИЮ вместе, чтобы получать только мужские или женские товары.
Также, если вы добавите новую категорию, вам не придется создавать новые таблицы, просто добавьте продукты с новым Cat_id.
Преимуществ на будущее много!
Других решений пока нет …