codeigniter分页显示所有记录

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.