2017-02-21 112 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

相关问题