三个查询mysql在一个对象json中

时间:2017-09-17 09:58:29

标签: php mysql json slim

我希望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"]
            ));}}

2 个答案:

答案 0 :(得分:0)

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

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

More on Array Merge and Append

答案 1 :(得分:0)

谢谢你们,但我想出了自己。这会有效吗

    $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