2016-09-03 41 views
1

データベーステーブルからデータをフェッチし、結果をjson形式で表示する必要があります。codeigniter、テーブルデータを選択し、結果をjson形式で表示する方法は?

ように私のテーブルdr_hospitalに見える:私はによりデータグループをフェッチする必要が

enter image description here

をCITY_IDし、その結果は、ジェイソン・フォーマットで表示されるはずです。どのようなすべての変更は、私は私のコードで行う必要がありますJSON形式の上に取得するための

[ 
    {"city_id": "13","hospitals":[ 
    { 
    "id": "1", 
    "name": "Medical Trust Hospital", 
    "address": "MG Road, Cochin - 682 016, Kerala, India." 

    }, 
    { 
    "id": "2", 
    "name": "PVS Memorial Hospital", 
    "address": "Kaloor, Cochin- 682017, Kerala, India." 
    }]}, 
{"city_id": "1","hospitals":[ 
{ 
    "id": "3", 
    "name": "Blacktown Hospital", 
    "address": "Sydney" 

    }, 
    { 
    "id": "4", 
    "name": "Fairfield Hospital", 
    "address": "Sydney" 
    }]}, 
{"city_id": "2","hospitals":[ 
    { 
    "id": "5", 
    "name": "Angliss Hospital", 
    "address": "31 Albert Road Melbourne" 

    }, 
    { 
    "id": "6", 
    "name": "Avenue Plastic Surgery", 
    "address": "20 The Avenue Windsor" 

    }]} 

] 

マイ結果JSONは次のように見なければなりませんか?

事前に感謝
public function hospitalAction() 
{ 
     $this->db->select('*'); 
     $result = $this->db->get('dr_hospital')->result_array(); 

     if($result) 
     { 
      print_r(json_encode($result));  
     } 
     else 
     { 
      $detail[] = array(
      'status'=>'unsuccess', 
      'message'=>'no hospital available', 

      ); 

      echo json_encode($detail); 
     } 
} 

: 私のコードは次のようになります。

+0

このような結果になる可能性のあるクエリはありません。各レコードのforループを使用して手動で行う必要があります。 –

答えて

0
public function hospitalAction() 
{ 
    $result1 = $this->db->query("SELECT city_id from dr_hospital group by city_id"); 
    $result1=$result1->result(); 
    $arr= array(); 
    foreach ($result1 as $res) { 
     $result = $this->db->query("SELECT * from dr_hospital where city_id='".$res->city_id."'"); 
     $result=$result->result(); 
     $arr[$res->city_id]=$result; 
    } 
    var_dump(json_encode($arr)); 
} 
関連する問題