如何从数据库中回显多个结果
我如何回复多个结果。 目前这显示配方名称,但我希望能够回应数据库中的步骤。 所以数据库中的字段将是第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>';
这些是我回来的结果
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`
您的查询只返回名字,只有一次,每次name
出现。
在while循环中,执行一个新的查询来查找每个配方name
的步骤,并循环执行各个步骤以分别回显它们。
上一篇: How to echo multiple results from database
下一篇: PHP API array loop