如何使用json_encode从数据库中获取数据

时间:2017-02-21 06:50:41

标签: php mysql json codeigniter

我有2个表,我想加入它们并获取这样的数据 我有一个多年级的学生

   {
    "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 :(得分: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()