codeigniter分页显示所有记录
问题描述:
When i do search all records are getting displaying and also pagination link is displaying in view page.
Also when i select the pagination link in an view page empty record is getting displayed which is not in database.
Below is the controller
public function users() {
$this->load->library('pagination');
$data1['showdata']=$this->searchmodelresult->login($look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty,$qualification);
$count=$data1['showdata'];
$totalrows=$count['count'];
$config = array();
$config["base_url"] = base_url() . "search/users";
$config["total_rows"] = $totalrows;
$config["per_page"] = 2;
$config["uri_segment"] = 3;
$this->pagination->initialize($config);
$this->load->view('templatepages/searchresult',$data1,$result);
}
Below is the view page.
<?php echo $this->pagination->create_links();?>
答
Try this - Tested and working on mine
Your URI segment will be 2 -
$config['uri_segment'] = 2;
In Controller
$count = $this->searchmodelresult->get_count($look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty,$qualification);
//product pagination
$config['base_url'] = base_url() . 'search/users';
$config['total_rows'] = $count;
$config['per_page'] = 2;
$config['uri_segment'] = 2;
$limit = $config['per_page'];
$this->pagination->initialize($config);
$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
$data['links'] = $this->pagination->create_links();
$data['preview'] = $this->searchmodelresult->login($look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty,$qualification, $limit,$page); # $limit and $page is added.
$this->load->view('templatepages/searchresult',$data)
In Model
public function login($look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty,$qualification, $limit,$page)
{
$query = $this->db->query("SELECT * .... LIMIT $page, $limit");
$result = $query->result_array();
return $result;
}
public function get_count($look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty,$qualification)
{
$query = $this->db->query("SELECT * .... ");
$result = $query->result_array();
$count = count($result);
return $count;
}
答
if($this->uri->segment(3)){
$page = ($this->uri->segment(3)) ;
}
else{
$page = 1;
}
$data["results"] = $this->pagination_model->fetch_data($config["per_page"], $page);
you can refer this link : https://www.formget.com/pagination-in-codeigniter/
Hope this answer will help you.