Plusieurs condition AND ds une requete

lue
Invité n'ayant pas de compte PHPfrance

20 avr. 2012, 13:30

Bonjour,

je souhaite faire établir plusieurs conditions AND entre une table légumes où figure plusieurs ingrédients et trois autres tables où chaque ligne correspond à la liste d'une recette

$sql = "SELECT * FROM legumes, rec_ing1, rec_ing2, rec_ing3 WHERE stock =1 AND ingredient=ing1 AND ingredient=ing2 AND ingredient=ing3";

Merci d'avance

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

20 avr. 2012, 16:17

Je commencerais par remplacer tes AND par des OR
car le champ ingredient ne peut avoir 3 valeurs différentes en même temps.

Mais je ne suis pas certain que cela suffise
car j'ai l'impression que ton modèle de données est aussi à revoir.

ViPHP
ViPHP | 2291 Messages

20 avr. 2012, 19:09

Salut,

Ou comme ceci peut-être :)
WHERE ingredient IN ('ing1','ing2','ing3') AND stock = 1
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 2278 Messages

21 avr. 2012, 14:15

Il doit falloir mieux s'expliquer sur le sujet:
La table legumes est la table des ingrédients possibles du genre (appelons-la legumes)
id_ingredient, nom_ingrédient, quantite_en_stock
et on a une table de recettes du genre (appelons-la recettes)
id_recette, nom_recette, texte_recette, id_ingredient_1,qte_ingredient_1, id_ingredient_2, qte_ingredient_2, id_ingredient_3, qte_ingredient_3.....
Le but de la manip étant d'obtenir toutes les recettes n'utilisant que des ingrédients qu'on a en stock en quantité suffisante?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
ViPHP | 2577 Messages

21 avr. 2012, 14:52

Il est possible de mettre au point ta requete via phpmyadmin
Tu ajoutes les conditions une par une.