我在codeigniter 3中遇到分页问题。我必须在加入后使用$ this-> db->限制和2在哪里。我在这里发布我的代码......
模型
public function fetch_matching_candidati_by_posizione($limit, $start, $event_id, $id_competenza)
{
$this->db->select('*');
$this->db->from('matching_candidati');
$this->db->join('competenze_candidato', 'competenze_candidato.id_candidato = matching_candidati.id_candidato');
$this->db->where('competenze_candidato.id_competenza', $id_competenza);
$this->db->where('matching_candidati.event_id', $event_id);
$this->db->limit($limit, $start);
$query = $this->db->get();
if($query->num_rows() > 0)
{
return $query->result();
}else {
return false;
}
}
控制器
public function cerca_candidati_per_posizione()
{
if($this->getUtente()->isAdmin())
{
$event_id = $this->uri->segment(6);
$event_anno = $this->uri->segment(3);
$event_url = $this->uri->segment(4);
$id_competenza = trim($this->input->post('posizione_digital_job_id'));
$this->load->model('matching_candidati_model');
$matching_candidati_model = new matching_candidati_model();
$this->load->model('matching_competenze_model');
$matching_competenze_model = new matching_competenze_model();
$config = array();
$config["base_url"] = base_url() . "amministratore/eventi/".$event_anno."/".$event_url."/matching/".$event_id."/candidati_posizioni_aperte/cerca_candidati_per_posizione";
if($id_competenza == "Altro"){
$config["total_rows"] = $matching_candidati_model->record_count_by_id_posizione_altro($event_id);
}else{
$config["total_rows"] = $matching_candidati_model->record_count_by_id_posizione($event_id, $id_competenza);
}
$config["per_page"] = 50;
$config["uri_segment"] = 9;
$config['num_links'] = 2;
$config['full_tag_open'] = '<div class="pagination"><ul>';
$config['full_tag_close'] = '</ul></div><!--pagination-->';
$config['first_link'] = '« First';
$config['first_tag_open'] = '<li class="prev page">';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last »';
$config['last_tag_open'] = '<li class="next page">';
$config['last_tag_close'] = '</li>';
$config['next_link'] = 'Next →';
$config['next_tag_open'] = '<li class="next page">';
$config['next_tag_close'] = '</li>';
$config['prev_link'] = '← Previous';
$config['prev_tag_open'] = '<li class="prev page">';
$config['prev_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li class="page">';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$page = ($this->uri->segment(9)) ? $this->uri->segment(9) : 0;
if($id_competenza == "Altro"){
$data_pass["candidati"] = $matching_candidati_model->fetch_matching_candidati_by_posizione_altro($config["per_page"], $page, $event_id);
$data_pass['numero_candidati'] = $matching_candidati_model->record_count_by_id_posizione_altro($event_id);
}else{
$data_pass["candidati"] = $matching_candidati_model->fetch_matching_candidati_by_posizione($config["per_page"], $page, $event_id, $id_competenza);
$data_pass['numero_candidati'] = $matching_candidati_model->record_count_by_id_posizione($event_id, $id_competenza);
}
$data_pass["links"] = $this->pagination->create_links();
$data_pass['event_id'] = $event_id;
$data_pass['event_anno'] = $event_anno;
$data_pass['event_url'] = $event_url;
$data_pass['competenze'] = $matching_competenze_model->get_all_competenze_default();
$data_header=array('title'=>'Master Club - Home Amministratore',
'css'=>array('bootstrap.css', 'bootstrap-responsive.css'),
'js'=>array('jquery.js', 'bootstrap.js', 'bootstrap.min.js',
'bootstrap-dropdown.js', 'bootstrap-button.js', 'bootstrap-alert.js',
'bootstrap-collapse.js', 'bootstrap-tooltip.js', 'bootstrap-transition.js', 'bootstrap-tab.js'));
$breadcrumps=array(
'0'=>'Home',
'1'=>'Amministratore',
'2'=>'Eventi',
'3'=>$event_anno,
'4'=>$event_url,
'5'=>'Candidati job matching'
);
$data_header['breadcrumps']=$breadcrumps;
$url_breadcrumps=array(
'0'=>'amministratore/login',
'1'=>'amministratore/home',
'2'=>'amministratore/eventi',
'3'=>'amministratore/eventi/'.$event_anno,
'4'=>'amministratore/eventi/'.$event_anno.'/'.$event_url,
'5'=>'amministratore/eventi/'.$event_anno.'/'.$event_url.'/matching/'.$event_id.'/candidati_posizioni_aperte'
);
$data_header['url_breadcrumps']=$url_breadcrumps;
$data_footer['filtri'] = true;
$this->load->view('header', $data_header);
$this->load->view('amministratore/matching/matching/candidati_posizioni_aperte', $data_pass);
$this->load->view('footer', $data_footer);
}
else
{
show_error('Accesso negato', 403);
}
}
不幸的是,它不起作用。有人能帮我吗? 如果我打开列表的第2页,则不显示任何内容......
答案 0 :(得分:0)
不确定这是否有所不同但是删除了您的“来自”并将您的获取更改为$this->db->get('matching_candidati')->result();
哟不需要你的检查,因为
if($query->num_rows() > 0)
{
return $query->result();
}else {
return false;
}
假设您要检查查询是否返回false,这是重复的。如果你只检查一般的查询结果集,如果有结果你会得到,如果是空的则会得到假
所以在你看来会是:
if(candidati){
//rest of your view action
}