2017-02-21 24 views
1

獲取數據我有2個表,我想加入他們的行列,並獲取這樣 一些數據我有一個學生,多級如何使用json_encode從數據庫

{ 
    "student": { 
    "studentID": "2", 
    "Name": "s1", 
    "age": " 12", 
    "grade": [ 
    { 
     "GradeID": "2" 
    },{ 
     "GradeID": "3" 
    } 
] 
    } 

我從兩個查詢獲取這個數據在我的模型的函數,然後使用json_encode在我的控制器我輸出 但我有這個

{ 
    "student": { 
    "studentID": "2", 
    "Name": "s1", 
    "age": " 12" 
}, 
    "grade": [ 
    { 
     "GradeID": "2" 
    },{ 
     "GradeID": "3" 
    } 
] 
    } 

,現在我不知道如何使用json_encode第一個格式。 感謝

my model(student): 
function get_student_id($id) 
    { 
     $student['student']= 
      $this->db->select('tbl_student.*') 
       ->from('tbl_student') 
       ->where('tbl_student.SID',$id) 
       ->get()->row(); 

     $student['grade']= 
      $this->db->select('tbl_grade.GradeID') 
       ->from('tbl_grade') 
       ->join('tbl_sudent','tbl_grade.StudentID=tbl_sudent.SID') 
       ->where('tbl_student.SID',$id) 
       ->get()->result(); 



     return $student; 
} 

我的控制器:

public function get_student_id() 
    { 

     $id = $input['one']; 
     $this->load->model('student'); 
     $temp=$this->student->get_student_id($id); 
     $output= json_encode($temp); 

     die($output); 

    } 
+1

哪裏是你的代碼??? –

+0

你能分享你的查詢碼嗎?我認爲單個查詢可以完成您使用Jonis的所有任務 –

+0

只需使用json_encode()函數就可以返回json格式的數據。 –

回答

1

你只需要構建你從模型正確返回數組。你將所有內容都放在兩個名爲student和grade的子數組中,這些子數組在外面的數組學生裏面。試試這個:

my model(student): 
function get_student_id($id) 
    { 
     $student= 
      $this->db->select('tbl_student.*') 
       ->from('tbl_student') 
       ->where('tbl_student.SID',$id) 
       ->get()->row(); 

     $student['grade']= 
      $this->db->select('tbl_grade.GradeID') 
       ->from('tbl_grade') 
       ->join('tbl_sudent','tbl_grade.StudentID=tbl_sudent.SID') 
       ->where('tbl_student.SID',$id) 
       ->get()->result(); 



     return $student; 
} 

我不能完全確定要調用get->row()第一查詢,如果不行嘗試get->row_array()

+0

感謝您的幫助...我使用get-> row_array。 – Zoee

相關問題