【问题标题】:Three queries mysql in one object json一个对象json中的三个查询mysql
【发布时间】:2017-09-17 18:51:32
【问题描述】:

我希望 JSON 输出是这样的,它是从我在 SQL 中运行的 3 个不同查询中获取的,并保存到 3 个不同的数组中

    {
      "category_level2":[
     {
        "name":"First",
        "img":"60",
     },
     {
       "name":"First",
        "img":"60",
     }],
  "products":[
     {
        "title":"First",
        "sku":"60"
     },
     {
        "title":"First",
        "sku":"60"
     }
  ],
  "category_level1":[
     {
        "name":"First",
        "img":"60"
     },
     {
        "name":"First",
        "img":"60"
     }]
  }

我将所有查询的结果保存在不同的数组中... 如何将它们编码为一个 JSON

    $query = $db->rawQuery("SELECT * FROM `category_level2` WHERE `name` LIKE  '%{$res->query}%'");
    if ($query)
        {
        foreach($query as $query)
            {
            array_push($category_level2, array(
                'name' => $query["name"],
                'img' => $query["img"]
            ));
            }
        }

    $query = $db->rawQuery("SELECT * FROM `stocklots` WHERE `title` LIKE  '%{$res->query}%'");
   if ($query)
        {
        foreach($query as $query)
            {
            array_push($result, array(
                'title' => $query["title"],
                'sku' => $query["sku"]
            ));}}

【问题讨论】:

  • 您能否显示所有三个SELECT 查询和相关代码?
  • 首先,您可以使用 JOINS 或其他表组合将所有三个查询合并为一个,或者您可以在编码为 JSON 之前将三个数组合并为一个,如下所示;
  • $query3 = $db->rawQuery("SELECT * FROM category_level1 WHERE name LIKE '%{$res->query}%'"); if ($query2) { foreach($query2 as $query2) { array_push($category_level1, array( 'name' => $query["name"], 'img' => $query["img"] )); } }

标签: php mysql json slim


【解决方案1】:

首先,您可以使用 JOINS 或其他表组合将所有三个查询合并为一个,或者您可以在编码为 JSON 之前将三个数组合并为一个,如下所示;

echo $finalArray = json_encode (array_merge($ar1, $arr2, $arr3));

More on Array Merge and Append

【讨论】:

    【解决方案2】:

    谢谢大家,但我自己想通了。这会工作

        $json=json_encode(array('category_level2' => $category_level2, 'products' => $result, 'category_level1' => $category_level1));
    
    echo json_encode($json);
    

    我得到了我想要的输出

    {"category_level2":[{"name":"Leather Furniture","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1670.jpg","id":1670,"level_1_id":"1628"},{"name":"Finished Leather","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1118.jpg","id":1118,"level_1_id":"2413"},{"name":"Leather Accessories","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2415.jpg","id":2415,"level_1_id":"2413"},{"name":"Leather Bags","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-945.jpg","id":945,"level_1_id":"2413"},{"name":"Leather Belts","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2416.jpg","id":2416,"level_1_id":"2413"},{"name":"Leather Boots","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2417.jpg","id":2417,"level_1_id":"2413"},{"name":"Leather Cases","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2418.jpg","id":2418,"level_1_id":"2413"},{"name":"Leather Chemicals","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-840.jpg","id":840,"level_1_id":"2413"},{"name":"Leather Clothing","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2419.jpg","id":2419,"level_1_id":"2413"},{"name":"Leather Finishing Transfer Foils","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1388.jpg","id":1388,"level_1_id":"2413"},{"name":"Leather Garment","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-43.jpg","id":43,"level_1_id":"2413"},{"name":"Leather Gloves","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2420.jpg","id":2420,"level_1_id":"2413"},{"name":"Leather Jackets","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2421.jpg","id":2421,"level_1_id":"2413"},{"name":"Leather Pouches","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2422.jpg","id":2422,"level_1_id":"2413"},{"name":"Leather Products","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-690.jpg","id":690,"level_1_id":"2413"},{"name":"Leather Purses","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2423.jpg","id":2423,"level_1_id":"2413"},{"name":"Leather Raw Materials","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-700.jpg","id":700,"level_1_id":"2413"},{"name":"Leather Saddles","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1830.jpg","id":1830,"level_1_id":"2413"},{"name":"Leather Sandals","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2424.jpg","id":2424,"level_1_id":"2413"},{"name":"Leather Shoes","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2425.jpg","id":2425,"level_1_id":"2413"},{"name":"Leather Strings","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1309.jpg","id":1309,"level_1_id":"2413"},{"name":"Leather Wallets","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-2426.jpg","id":2426,"level_1_id":"2413"},{"name":"PVC Leather Cloth","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1124.jpg","id":1124,"level_1_id":"2413"},{"name":"Synthetic Leather","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1274.jpg","id":1274,"level_1_id":"2413"},{"name":"Leather Machinery","img":"https:\/\/mobilees4332.blob.core.windows.net\/bulkiy-stocklots\/category-level-1-1123.jpg","id":1123,"level_1_id":"1215"}],"products":[{"title":"Leather Notecase Wallet","sku":"XS-STK-27724","image":"https:\/\/gabproject.org\/images\/sho
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 2013-09-13
      • 1970-01-01
      • 2016-06-21
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多