关联数组中的回声特定数据?

时间:2014-09-26 03:52:58

标签: php mysql sql arrays associative-array

这是一个食谱项目,用户使用表格并输入自己的食谱。我有整个部分工作。现在我试图从数据库中检索配方信息并将其显示在页面上。无论如何,这是我现在的代码。

<?php
include_once('includes/connection.php');
include_once('includes/recipe.php');
$recipe = new Recipe;

if (isset($_GET['id'])) {
    $id = $_GET['id'];
    $basic_data = $recipe->fetch_data($id);

    $sql1 = $pdo->prepare("SELECT recipes.*, categories.* FROM recipes 
      INNER JOIN categories 
      ON (recipes.category_ID = categories.category_ID) 
      WHERE recipes.recipe_id = ?");
    $sql1->bindValue(1, $id);
    $sql1->execute();

    $results1 = $sql1->execute(); 
    echo $results1 = $sql1->fetchAll(PDO::FETCH_ASSOC);
    var_dump($results1);
?>

这是我在运行此代码时在网页上看到的内容。我以前从未使用过关联数组,所以我真的输掉了如何回显一个包含的特定数据。出于这个问题的目的,我专注于&#34; category_name&#34;我试图只回显&#34; category_name&#34;中存储的值。这个食谱恰好是&#34;无&#34;。我如何回应单词&#34; none&#34;到页面?

    Arrayarray(1) { 
        [0]=> array(15) { 
            ["recipe_ID"]=> string(1) "1" 
            ["recipe_name"]=> string(20) "English Muffin Pizza" 
            ["category_ID"]=> string(1) "1" 
            ["servings_ID"]=> string(2) "13" 
            ["prep_hours"]=> string(1) "0" 
            ["prep_minutes"]=> string(2) "20" 
            ["cook_hours"]=> string(1) "0" 
            ["cook_minutes"]=> string(2) "10" 
            ["oven_temp"]=> string(3) "350" 
            ["directions"]=> string(402) "These are the directions." 
            ["extra_comments"]=> string(37) "This is a short extra comment." 
            ["recipe_favorite"]=> string(1) "1" 
            ["recipe_photo"]=> string(0) "" 
            ["created"]=> string(19) "2014-09-20 10:22:39" 
            ["category_name"]=> string(4) "none" } 
    }

如果我能提供更多信息,请告诉我。这是漫长的一天,我可能会遗漏一些可以帮助你帮助我的东西。

2 个答案:

答案 0 :(得分:0)

如果您严格尝试在此数组中回显category_name,则只需编写:

echo $results1[0]['category_name'];

答案 1 :(得分:0)

您需要使用循环来完成$ results。这将为所有食谱回显category_name。

foreach ($results1 as $recipe) {
    echo $recipe['category_name'];
}

如果您知道要在0号(第一个食谱)处获得食谱,您可以简单地执行:

echo $results[0]['category_name'];