如何回显多个结果。目前显示配方名称,但我希望能够回显数据库中的步骤。因此,数据库中的字段将是第1步。
<?php
if (isset($_POST['search'])) {
$ingredient1 = $_POST['dropdown1'];
$ingredient2 = $_POST['dropdown2'];
$ingredient3 = $_POST['dropdown3'];
$recipes = mysql_query("
SELECT DISTINCT `name`
FROM `recipe` r
INNER JOIN `recipe_ingredients` ri
ON r.id = ri.recipe_id
WHERE ri.ingredient_id IN (".$ingredient1.",".$ingredient2.",".$ingredient3.")
");
echo '<section id="results">';
while ($recipe = mysql_fetch_assoc($recipes)) {
echo $recipe['name'].'<br />';
}
}
echo '</section>';
?>
这引发了一个错误。 :PHP解析错误:第97行\ PDC3 \ sites \ c \ cupboard2stomach.com \ public_html \ php \ get.php中的语法错误,意外',',期待']'
echo $recipe['name'].'<br />';
echo $recipe['step1'].'<br />';
没有错误但不显示结果。
echo $recipe['name','step1'].'<br />';
这是食谱表
echo '<section id="results">';
while ($recipe = mysql_fetch_assoc($recipes)) {
echo $recipe['name'].'<br />';
echo $recipe['step1'].':','<br />';
echo $recipe['step2'].':','<br />';
echo $recipe['step3'].':','<br />';
}
}
echo '</section>';
这些是我回来的结果
答案 0 :(得分:1)
SELECT r.`name`, r.`step1`
FROM `recipe` r
INNER JOIN `recipe_ingredients` ri
ON r.id = ri.recipe_id
WHERE ri.ingredient_id IN ('".$ingredient1."', '".$ingredient2."', '".$ingredient3."')
GROUP BY r.`name`
答案 1 :(得分:0)
您的查询仅返回名称,每次name
发生一次。
在while循环中,执行一个新查询以查找每个食谱name
的步骤,并循环执行这些步骤以分别回显它们。