2017-07-15 3 views
1

こんにちは私は、Code Igniterのページングを使って最初のページで正しく動作するようにしていますが、ユーザーが次のページへのリンクをクリックしようとすると、実際の検索結果よりも大きなページ番号が表示されます。プラスデータが正しく表示されません。codeigniterのページ設定で検索

マイコントローラー:

public function search() { 
    try { 

     $data = new stdClass(); 

     $name = $this->input->post('name'); 

     $config["base_url"] = base_url() . "gadmin_user/search"; 
     $config["total_rows"] = $this->Gadmin_model->search_count($name); 
     $config["per_page"] = 10; 
     $config["uri_segment"] = 3; 
     $choice = $config["total_rows"]/$config["per_page"]; 
     $config["num_links"] = round($choice); 
     $config['full_tag_open'] = '<ul class="pagination">'; 
     $config['full_tag_close'] = '</ul>'; 
     $config['cur_tag_open'] = '<li class="active"><a href="#">'; 
     $config['cur_tag_close'] = '</a></li>'; 
     $config['num_tag_open'] = '<li>'; 
     $config['num_tag_close'] = '</li>'; 
     $config['prev_link'] = '<li>&lt;'; 
     $config['next_tag_open'] = '<li>'; 


     $this->pagination->initialize($config); 

     $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 
     $data->users = $this->Gadmin_model->serach_by_user($name,$config["per_page"], $page); 
     $data->links = $this->pagination->create_links(); 

     $this->load->view('gadmin/templates/header'); 
     $this->load->view('gadmin/user/search', $data); 
     $this->load->view('gadmin/templates/footer'); 

    } catch (Exception $e) { 
     show_error($e->getMessage() . ' --- ' . $e->getTraceAsString()); 
    } 
} 

マイモデル:

public function search_count($keyword){ 


    $q = $this->db->select('*') 
         ->from('users') 
         ->where("name LIKE '%$keyword%'") 
         ->get(); 

    return $q -> num_rows(); 

} 


public function serach_by_user($keyword,$start, $limit){ 

    $search = $this->db->select('*') 
         ->from('users') 
         ->where("name LIKE '%$keyword%'") 
         ->limit($start, $limit) 
         ->get(); 

    if($search->num_rows() > 0){ 
     return $search->result(); 
    }else{ 
     return false; 
    } 

} 

答えて

1

制限を取得するには、これを使用開始し、上限は$ CONFIG [ "PER_PAGE"]

です
$c=1; 
     if($page){ 
      $c = $page; 
      $limit_start = $limit * ($c - 1); 
     } 
関連する問題