Bonjour,
Je fais un petit application de recette
J'ai trois table
- tb_recettes
- tb_recettes_ingredients
- tb_fruits
- Dans tb_recettes, j'ai toutes mes recettes, une ligne par recette
- Dans tb_fruits, j'ai tous mes fruits, ou ingredients, une ligne par fruit. Si j ai plus de fruit, je peux les deactivé
- Dans tb_recettes_ingredients, j'ai le contenu de mes recttes. Si ma recette 2, a une pomme, une poire et une banane, j'aurais trois ligne et deux colonmnes (tb_recettes_id_recette, tb_fruits_id_fruits). Donc trois ligne avec la colonne "tb_recettes_id_recettes" avec la valeur de 2, et la colonne "tb_fruits_id_fruits" avec la valeur de l ID du fruits
Mon probleme, c'est que si l'un de ses fruits est inactif (colonne : fd_actived), je ne veux pas que la recette s'affiche.
Ci-dessous, j'âi ma requette SQL avec jointure et dans ma table j'ai 2 fruits inactif. J'ai une recette qui a 4 fruits donc les deux inactif. MAis la recette s'affiche comme même car mon code ci-dessous detecte que il y a au moin 1 fruit actif.
J'aimerais savoir comment modifier ma requete MYSQL de sorte qu'il ne considaire que les recettes dont tous les fruits sont actif.
Voyez vous mon probleme? Ai-je ete assez explicite
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $sql_recettes_mod = " SELECT r.fd_nom, r.id_recettes, r.fd_actived, ri.tb_recettes_id_recettes, ri.tb_fruits_id_fruits, f.id_fruits, f.fd_actived FROM tb_recettes AS r INNER JOIN tb_recettes_ingredients AS ri ON r.id_recettes = ri.tb_recettes_id_recettes INNER JOIN tb_fruits AS f ON ri.tb_fruits_id_fruits = f.id_fruits WHERE r.fd_actived LIKE 1 AND f.fd_actived LIKE 1 GROUP BY r.fd_nom ORDER BY r.id_recettes ASC"; $query_recettes_mod = mysql_query($sql_recettes_mod)or die(mysql_error()); $no_recettes_mod = mysql_num_rows($query_recettes_mod);
Milles mercis pour vos lumières
Partager