The below is the json result I got in the console. But, appending it to my dropdown, shows only Physics,Chemistry and test subject. How to get Biology also.
[
[
{"id":"1","subject_name":"Physics"},
{"id":"2","subject_name":"Chemistry"},
{"id":"9","subject_name":"test subject"}
],
[
{"id":"7","subject_name":"Biology"}
]
]
Below is my ajax code
$.ajax({
type: 'POST',
dataType:"json",
// url:'<?php echo base_url()."SchoolAdmin/delete_electricUsage";?>',
url: '<?php echo base_url('SchoolAdmin/getclass_id'); ?>',
data: { class_std : class_std},
success: function (result) {
var listItems= "";
listItems+= "<option value='" + 'select' + "'>" +'Select' + "</option>";
for (var i = 0; i < result[0].length; i++){
listItems+= "<option value='" + result[0][i].id+ "'>" + result[0][i].subject_name + "</option>";
}
$("#subject").html(listItems);
}
});
Below is my controller function,
public function getclass_id()
{
$school_id = $this->session->userdata('school_id');
$sess_id = $this->session->userdata('userid');
$user_id = $this->session->userdata('user_id');
if(($sess_id))
{
$class_id=$this->security->xss_clean($this->input->post('class_std'));
$this->load->model('School_Model');
$cid=$this->School_Model->getclass_id($class_id,$school_id);
foreach ($cid as $r)
{
$rr=$r->id;
$data[]=array_merge($this->School_Model->getSubject($rr,$school_id));
}
echo json_encode($data);
}
else
{
redirect('admin');
}
}
Here is my model,
public function getclass_id($class_id,$school_id)
{
return $this->db->select('id')->from('class_table')->where('standard',$class_id)->where('school_id',$school_id)->
get()->result();
//echo $this->db->last_query();
}
public function getSubject($cid,$school_id)
{
return $this->db->select('id,subject_name')->
from('subject')->where('school_id',$school_id)->
where('class_id',$cid)->get()->result_array();
}