Ваш код вернет значение одного результата и остановит обработку.
Вы можете изменить свой код, чтобы сохранить результаты в массиве, а затем вернуть это?
public function functional_job($functional){
$functions = explode(",",$functional);
$results = array();
foreach($functions as $row)
{
$this->db->select('*');
$this->db->from('job');
$this->db->where('functional',$row);
$query = $this->db->get();
if($query->num_rows()>0)
{
$results[] = $query->result_array();
}
else
{
$this->session->set_flashdata('msg','<p style="color:red;font-weight: 600;">No Job Found.</p>');
}
}
return $results;
}
Какупомянул, что вы также можете изменить свой запрос, чтобы использовать функциональность IN MySql.
SELECT * FROM job WHERE functional IN ('IT', 'marketing', 'ecommerce')
Не зная codeigniter, он, вероятно, будет выглядеть примерно так:
$this->db->select('*');
$this->db->from('job');
$this->db->where_in('id', $functional);
$query = $this->db->get();