2017-02-21 3 views
1

Ich habe 2 Tabelle, die ich mag, dass sie verbinden und einige Daten wie diese Ich habe einen Student mit mehreren Gradenwie json_encode verwenden, um Daten aus der Datenbank zu holen

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

ich diese Daten aus zwei Abfrage holen holen in einer Funktion in meinem Modell und dann json_encode in meinem Controller für meine Ausgabe verwenden, aber ich habe diesen

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

und jetzt weiß ich nicht, wie json_encode für das erste Format zu verwenden. dank

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; 
} 

mein Controller:

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

wo ist dein CODE ??? –

+0

können Sie Ihren Abfragecode teilen. Ich denke, einzelne Abfrage kann alle Ihre Aufgabe mit Jonis tun –

+0

Verwenden Sie einfach json_encode() -Funktion es wird JSON-Format Daten zurückgeben. –

Antwort

1

Sie müssen nur die Array-Struktur Sie richtig aus dem Modell zurück. Sie setzen alles in zwei Subarrays namens Student und Grade, die sich innerhalb des äußeren Array-Schülers befinden. Versuchen Sie folgendes:

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; 
} 

Ich bin mir nicht ganz sicher, dass Sie get->row() auf der ersten Abfrage nennen wollen, wenn das nicht versuchen, funktioniert get->row_array()

+0

danke für deine Hilfe ... Ich benutze get-> row_array. – Zoee

Verwandte Themen