Bonjour, je suis aujourd'hui confronté à un problème de conception que je n'arrive pas à résoudre.
J'avais dans l'idée de créer un site regroupant des recettes et la possibilité d'afficher des recettes en fonction des ingrédients que l'on sélectionne, mais je suis complètement bloqué sur la structure que ma base de données devra prendre.
Je vois une table "recettes", une table "ingrédients" et une table de jointure pour la quantité des ingrédients mais je ne vois pas du tout comment imbriquer tout ça ensemble sachant que je dois pouvoir trouver une recette à partir des ingrédients et que les ingrédients doivent être affichés dans la recette.
J'ai commencé php et mysql depuis 6 mois environ et je n'avais besoin que de bases de données très simple pour mes précédents projets ou de bdd dont les tables n'avaient pas beaucoup besoin d'intéragir entre elles et j'avoue que là je bloque complètement.
Si quelqu'un avait des pistes ce serait fort agréable
Merci beaucoup pour ta réponse ! En fait c'est les ingrédients qui me posent problème imaginons une table "recette" avec par exemple comme champs "titre" "contenu" je ne sais pas comment articuler les champs "ingrédients" est ce que je créer 20 champs "ingrédients" (ingrédient_1, ingrédient_2 ... etc) qui sont remplies en fonction des besoin de chaque recette ?
Parce que si je fait un seul champs "ingrédient" dans ma table "recette" je ne peux pas le relier à ma table "ingrédients" si vu que chaque recette contient plusieurs ingrédients.
Et bien si, comme tu les disais en faisant une table de "relation", qui comprendra l'id de la recette, et l'id de l'ingrédient, tu pourras ainsi avoir deux tables "recettes" et "ingrédients" séparées et cette trosième table de liaison. Il suffit ensuite de faire une jointure "recettes"->"liaison"->"ingrédients"
Merci à vous deux ! J'y vois maintenant plus clair.
Grillé par philodick mais ton intervention n'était pas inutile car j'avais oublié le champ pour les quantités dans ma table de jointure !
Une dernière chose, du coup lors de la création d'une recette, L'id de la nouvelle recette n'étant pas encore créée est ce que je dois faire un "insert" dans ma table recette, suivi d'un select pour récupéré cet id à partir par exemple du nom (Qui devra être unique dans ce cas) et ensuite refaire un insert avec l'id ainsi récupéré ou est ce qu'il existe un moyen plus simple ?
Tu as plusieurs solutions, soit celle que tu envisages, soit tu fait tout en même temps : tu peux récupérer directement le dernier id inséré avec lastInsertID en pdo par exemple. Tout dépend comment tu crées ta recette.
Merci pour toute cette aide je vais essayer de me débrouiller tout seul maintenant !
BDD recettes
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.