【问题标题】:how to use json_encode to fetch data from database如何使用 json_encode 从数据库中获取数据
【发布时间】:2017-07-10 16:10:39
【问题描述】:

我有 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);

    }

【问题讨论】:

  • 你的代码在哪里???
  • 你能分享你的查询代码吗?我认为单个查询可以使用 Jonis 完成所有任务
  • 只要使用json_encode()函数就会返回json格式数据。

标签: php mysql json codeigniter


【解决方案1】:

您只需正确构建从模型返回的数组。您将所有内容放在两个子数组中,称为 student 和 Grade,它们位于外部数组 student 中。试试这个:

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()

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 1970-01-01
    • 2011-11-06
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多