php将mysql数据解析成多维json数组

时间:2014-10-03 09:15:42

标签: php mysql sql arrays json

我是php webservices的新手。我希望以下列格式获取sql数据: enter image description here

正在使用的SQL查询是:

    $result = mysql_query("select r.id,r.Name, o.`Title`, o.id, o.`Description`, o.`OfferLocation`
from `restaurants` r left join `offers` o on r.id = o.`restaurant_id`");

使用此查询,我会为每个唯一restaurant获取多余的offer名称,这很好。但是,如何将图像中给出的数据格式化为多维数组呢?

以下是我到目前为止尝试过的代码:

if(mysql_num_rows($result) > 0){
        $response["restaurant"] = array();$cnt=0;
        $item_rest=array();
            while($row=mysql_fetch_array($result)){
                $item_rest["RestaurantID"]=$row["id"];
            }
            $response_offer["offers"]=array();
            while($row=$result->fetch_array($result)){

                $item = array();

                $item["Offer"]= $row["Title"];
                $item["OfferId"]= $row["id"];
                $item["Description"]= $row["Description"];
                $item["OfferLocation"]= $row["OfferLocation"];

                array_push($response_offer["offers"],$item);
            }
            array_push($response["restaurant"],$response_offer);
            $response["success"]=1;
        }

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试同时使用两个API,请尝试将$result->fetch_array($result)(mysqli)更改为mysql_fetch_array($result)(mysql)。

考虑停止使用mysql_函数,因为它们已被弃用,更多here