如何更好地显示?

时间:2018-03-23 14:40:40

标签: php mysql

我的代码似乎工作正常..但它似乎很多复制和粘贴代码,以适应每种食物。我只复制并粘贴了两个变量的代码,但是认为必须有一个更简单的方法吗?

我目前正在显示与“关键字”相关的膳食。他们可以通过表格选择他们喜欢哪些。 基本上,它正在做的是根据他们的偏好显示膳食(他们通过复选框表格完成) 此外,我需要变量来定义单词,例如,$ 1 =' Option1'并且= 1表示他们用户选中了复选框。

如果有人能在这里帮助我,我将非常感激。

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