2017-05-09 19 views
0
私は2つのテーブルを持っている

で出力を必要とサブカテゴリJSONは</p> <p>1、階層

Category (table 1) 
--------------- 
Cid | Name 

1  | Vegetable 

2  | Fruit 


SubCategory (table 2) 
---------------- 
Cid | Sid | S_name 

1 | 1 | Carrot 

1 | 2 | Beans 

2 | 3 | Mango 

私が欲しいJSONでそのような結果: -

-> Category found 

     -> Vegetable 

      -> carrot 

      -> beans 

     -> Fruit 

      -> mango 

私は以下のコードを使用しています!誰も私のコードを修正するために私を助けることができる&私は上記のような出力を得る!私は何度も試みました。解決策を得ることはできません!ディレクトリ形式のような出力を得るのを助けてください。ありがとう

`$srtResult = "SELECT * FROM `category` `c` LEFT JOIN `subcategory` `s` ON 
(`c`.`cid` = `s`.`cid`)"; 

//Execute Qu**strong text**ery 
    $result=mysql_query($srtResult); 
    //Iterate Throught The Results 

    while ($row = mysql_fetch_assoc($result, MYSQL_ASSOC)) 
{ $count = $row['cid']; 
while($row['cid'] = $count) 
{ $subcatitem[] = Array("cid" => $row['cid'], "sid" =>$row['sid'],   
"sname" => $row['sc_name']); 
    } 
    $json['category'][] = Array("category" => Array("cid" => $row['cid'], 
"name" => $row['name'], "subcategory" => Array($subcatitem))); 
    } 

    header('Content-type: application/json'); 
echo json_encode($json);` 

答えて

0

これでは十分ではありませんか?

$srtResult = "SELECT * FROM `category` `c` LEFT JOIN `subcategory` `s` ON 
(`c`.`cid` = `s`.`cid`)"; 
$result = mysql_query($srtResult); 

while ($row = mysql_fetch_assoc($result, MYSQL_ASSOC)) { 
    $json['category'][$row['name']] = $row['sc_name']; 
} 

header('Content-type: application/json'); 
echo json_encode($json); 

編集:

コメント欄より説明した後、必要なPHPの配列構造は(期待されるJSON文字列を与える)のようになります。

Array 
(
    [success] => 1 
    [message] => Category found in Database 
    [Category] => Array 
     (
      [0] => Array 
       (
        [id] => 1 
        [name] => vegetable 
        [Subcategory] => Array 
         (
          [0] => Array 
           (
            [cid] => 1 
            [sid] => 1 
            [sc_name] => carrot 
           ) 

          [1] => Array 
           (
            [cid] => 1 
            [sid] => 2 
            [sc_name] => beans 
           ) 

         ) 

       ) 

      [1] => Array 
       (
        [id] => 2 
        [name] => Fruit 
        [Subcategory] => Array 
         (
          [0] => Array 
           (
            [cid] => 1 
            [sid] => 1 
            [sc_name] => Mango 
           ) 

         ) 

       ) 

     ) 

) 
+0

ピカードが、私はこれを試してみました、 mysql_fetch_assoc()は、パラメータ1がリソースであることを期待しています。行番号10に指定されているブール値を返します。 – Prince

+0

_ SELECT、(...)mysql_query()は成功時にリソースを返し、エラー時にはFALSEを返します。 '$ srtResult'というクエリにエラーがあります。たぶんテーブル名は 'subcategory'ではなく' SubCategory'でなければならないのでしょうか?エラーをチェックするには、次のようにします: 'if(!$ result){die( '無効なクエリ:'。mysql_error()); } ' – Picard

+0

ありがとうPicard、 私はJsonでそのような出力が欲しいです、あなたはそれをコーディングしてくれますか?サブタイプ: [{"id": "1"、 "name": " "cid": "1"、 "sid": "1"、 "sc_name": "carrot"}、 {"cid": "1"、 "sid": "2"、 "sc_name" {{"cid": "1"、 "sid": "1"、 "sc_name": "}"、 {「id」:「2」、「名前」:「フルーツ」、「サブカテゴリ」: [ Mango "}]}] – Prince