Search for recipe with the ingredients that the user entered
In this code below, I can fetch recipes that have the ingredient that it reported. But I want the user to enter the number of ingredients he wants and so search for recipes that have these ingredients, but I do not know how I can do it.
<p>O meu banco de dados contém as seguintes tabelas</p>
<p>INGREDIENTE</p>
<p>id_ingrediente</p>
<p>nome_ingrediente</p>
<p>------------------------------</p>
<p>RECEITA</p>
<p>id_receita</p>
<p>nome_receita</p>
<p>modo_de_preparo</p>
<p>------------------------------</p>
<p>INGREDIENTE_RECEITA</p>
<p>id_receita_ingrediente</p>
<p>id_receita</p>
<p>id_ingrediente</p>
<p>------------------------------</p>
<p>O 'name' do campo de texto se chama 'ingrediente'</p>
<p>O 'name' do botão se chama 'busca'</p>
<p>-------------------------------</p>
<p>Segue o código abaixo: </p>
</head>
<body>
<form class="" method="post">
<input type="text" name="ingrediente" value="">
<input type="submit" name="busca" value="Buscar">
</form>
<?php
$busca = filter_input(INPUT_POST, 'busca', FILTER_SANITIZE_STRING);
if ($busca) {
$ingrediente = filter_input(INPUT_POST, 'ingrediente', FILTER_SANITIZE_STRING);
$Busca = "SELECT * FROM receita
JOIN ingrediente_receita
ON receita.id_receita = ingrediente_receita.id_receita
JOIN ingrediente
ON ingrediente_receita.id_ingrediente = ingrediente.id_ingrediente
WHERE nome_ingrediente like '%$ingrediente%'";
$resultado_ingrediente = mysqli_query($conexao, $Busca);
while ($ingrediente_do_banco = mysqli_fetch_assoc($resultado_ingrediente)) {
echo "Nome receita: " . $ingrediente_do_banco['nome_receita'];
echo "Nome ingrediente: " . $ingrediente_do_banco['nome_ingrediente'];
echo "Modo de preparo: " . $ingrediente_do_banco['modo_de_preparo'];
}
}
?>
</body>
</html>