私は3つのテーブルを持つデータベースを持っています:レシピ、成分、relation.Whenユーザーは複数の成分を入力すると、それらの成分を含む適切なレシピを返す必要があります。私はユーザーが入力した成分のIDを見つけるPHPコードを書いています。しかし、私はレシピを見つけるためのクエリをさらに書く方法を理解できません。コーディング時には不明な複数の要素があるので、PHPコードで配列を使用する方法を理解できません。 例: 私は2つのレシピTOASTとSANDWICHを持っています パンとバターは両方とも共通していますし、SANDWICHの野菜もあります パンとバターを成分として入れたときにTOASTを返すクエリを書く方法。複数の入力の成分ベースの検索
if (isset($_REQUEST['search_ingredients']))
{
$q = urldecode(mysqli_real_escape_string($con,$_REQUEST['ingredients']));
$parameter = explode (" ",$q);
$var = 0;
//print_r($parameter);
foreach($parameter as $x)
{
//echo $x;
$sql = "SELECT rname from recipes not in (select distinct rid from relations where iid not ib(SELECT iid FROM ingredients WHERE iname='".$x."'))";
$result = mysqli_query($con,$sql) or exit('{"Data":null,"Message":null,"Code":500}');
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
echo $row['iid'];
$arr_id[$var] = $row['iid'];
//echo $arr_id[$var];
$var++;
}
パラメータオーバーライドされたクエリを使用している人からStack Overflowに関する質問が表示されるのではないかと思う:-( –