Bonjour,
Je fais un petit application de recette

J'ai trois table
  1. tb_recettes
  2. tb_recettes_ingredients
  3. tb_fruits


  1. Dans tb_recettes, j'ai toutes mes recettes, une ligne par recette
  2. Dans tb_fruits, j'ai tous mes fruits, ou ingredients, une ligne par fruit. Si j ai plus de fruit, je peux les deactivé
  3. 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