Se connecter / S'enregistrer

Résolu Question table myslq

Solutions (6)
Tags :
  • table
  • Programmation
|
Bonjour
il y a un truc que je ne comprends pas dans les tables, j'ai pourtant bien regardé ls tutos

par exemple je crée une recette de cuisine
je commence par créer une atble ingredients
je vais créer quatre colonnes: id, nom, prix et poid
je rentre trois ingrédients, eau: (1, eau, 2, 3)
sel: (2, poivre, 5, 2)
poivre: (3, poivre, 20, 2)

une fois mes ingrédients rentrés, je crée une table recettes
j'ai deux recette; recette1: poivre+2sel
recette2: eau+sel+3poivre

donc je crée une table avec les colonnes suivantes: id, nom, (prix_ingredients), (poid_ingredients)

voila mais je ne sais pas comment faire pour avoir le prix total dans la colonne prix_ingrédients et de même pour le poids

pourriez vous m'aider

Merci
Contenus similaires
Meilleure solution
partage
|
Je pense que c'est ta conception qui a un défaut.
Tes ingrédients sont définis par leur nom, et leur prix (au kg par exemple).

Une recette est définie par un ensemble de poids d'ingrédients, ce qui te permet de définir le prix total.

Tu auras donc 3 tables:
ingredient (id, nom, prix (au kg ou au litre))
recette(id, nom)
ingredient_de_recette(id_recette, id_ingredient, poids (en g ou cl))

C'est dans cette dernière table que tout se joue.

Cela nous donnera par exemple:
*** ingredient ***
1;farine;10;
2;sel;50;
3;poivre;50;
4;huile;10;
5;vinaigre;15;
5;lait;25;

*** recette ***
1;Vinaigrette;
2;Béchamel;

*** ingredient_de_recette ***
1;2;2;
1;3;2;
1;4;20;
1;5;10;
2;1;50;
2;2;2;
2;5;50;

Avec ça, tu sais que la vinaigrette est faite de 2g de sel, 2g de poivre, 20cl d'huile et 10cl de vinaigre.
Et que la béchamel est faite avec 50g de farine, 2g de sel et 50cl de lait.
Tu peux donc tout savoir avec une requête sur la dernière table et une jointure sur la première:
  1. SELECT ir.*, i.prix FROM ingredient_de_recette AS ir
  2. JOIN ingredient i ON i.id=ir.id_ingredient
  3. WHERE ir.id_recette=X


Voila, est-ce compréhensible ?
  • Commenter cette solution |
Score
0
òh
òi
|
De rien, content de t'avoir aidé.
  • Commenter cette réponse |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par anthebest.
  • Commenter cette réponse |
Score
0
òh
òi
|
sa fonctionne, merci beaucoup
  • Commenter cette réponse |
Score
0
òh
òi
|
Tu peux jouer sur l'unité de prix de tes éléments. J'ai pris le litre et le kg, mais tu peux juste prendre l'unité.
Si par exemple tu as besoin de 2 échalotes et qu'elles sont vendues par filets de 6, soit tu ramènes le prix à l'échalote, soit tu mets le prix des 6 et tu considères qu'il t'en faut 0.33 pour ta recette.
Ou, pour certaines choses (le sel, le poivre, ...) tu comptes 0.

Tu peux aussi ajouter dans la table ingredient un champ "unité" qui indique l'unité de mesure que l'on doit utiliser, ou même (ze cherry on ze cake) avoir une table suplémentaire qui comporte les unités et qui soit aussi lié à la recette.
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui, merci j'ai compris mais j'ai encore un problème.
si par exemple mes ingrédients sont des éléments et que pour une recette il me faut trois éléments a et deux éléments b, je fais comment ?
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS