Я делаю сайт, на котором хранятся данные в mysql.
Теперь ситуация такова, что мне нужна структура, в которой должна быть таблица с категориями (cat_id, cat_name) и таблица рецептов (r_id, r_name и т. д.). Но условием является то, что один рецепт может иметь более одной категории, и я должен показать, что все рецепты, которые попадают в одну категорию через php.
Все, что мне нужно, это правильная структура.
Я новичок в СУБД. Помощь будет оценена.






Вы можете добавить соединительную таблицу в схему своей базы данных, примерно так:
category_recipe (cat_id, r_id)
Назначение этой таблицы - разрешить сопоставление данной категории более чем одному рецепту. Если вы также хотите, чтобы каждый рецепт мог появляться только один раз, вы можете добавить уникальный индекс в столбец r_id в category_recipe.
Чтобы найти все рецепты, попадающие в определенную категорию, вы можете использовать следующий запрос:
SELECT
r.r_id, r.r_name
FROM categories c
INNER JOIN category_recipe cr
ON c.cat_id = cr.cat_id
INNER JOIN recipe r
ON cr.r_id = r.r_id
WHERE
c.cat_name = 'some category';