我的代码似乎工作正常..但它似乎很多复制和粘贴代码,以适应每种食物。我只复制并粘贴了两个变量的代码,但是认为必须有一个更简单的方法吗?
我目前正在显示与“关键字”相关的膳食。他们可以通过表格选择他们喜欢哪些。 基本上,它正在做的是根据他们的偏好显示膳食(他们通过复选框表格完成) 此外,我需要变量来定义单词,例如,$ 1 =' Option1'并且= 1表示他们用户选中了复选框。
如果有人能在这里帮助我,我将非常感激。
答案 0 :(得分:0)
您可以使用循环访问变量并获取每个变量的配方。把它们放在一个阵列中会更好,但我没有做出改变,因为我不知道你从哪里获得了$ B1。
include ("dbConnect.php");
$A1 = ("cheese");
$A2 = ("yoghurt");
$A3 = ("egg");
$A4 = ("fruit");
$A5 = ("cereal");
$A6 = ("oatmeal");
$dbQuery=$conn->prepare("select * from FoodQuestionnaireResults where UserID=$UserID");
$dbQuery->execute();
while ($dbRow=$dbQuery->fetch(PDO::FETCH_ASSOC))
{
for($i = 1; $i<=6; ++$i) {
$bname = "B$i";
$$bname = $dbRow[$bname];
}
}
for($i = 1; $i<=6; ++$i) {
$aname = "A$i";
$bname = "B$i";
if ($$bname == '1')
{
$dbQuery=$conn->prepare("select * from Recipes where Keyword = '".($$aname)."'");
$dbQuery->execute();
while ($dbRow=$dbQuery->fetch(PDO::FETCH_ASSOC))
{
echo "<br><br><h4>".$dbRow["Name"]."</h4><br>"."<br><img src=Breakfast/".$dbRow['Picture']."' width='150' height='150' />"."<br><br>".$dbRow['Instructions'];
}
} else {
echo "";
}
}
我使用奇怪但工作正常的代码$$aname
访问$A1
到$A6
和$$bname
访问$B1
到{{1} }
将HTML更改为:
$B6