2017-11-22 4 views
0

私の英語は間違いなくご迷惑をおかけして申し訳ございません。私はcodeigniterページネーションライブラリを使用しようとしていましたが、余分なリンクを作成する問題に直面しています。私のデータは2ページで完成しますが、3番目または4番目のリンクをクリックすると、エラーが発生します。 はここCodeigniter余分なリンクを作成するページネーションですか?

public function usr_list(){ 
    $config = array(); 
    $config["base_url"] = base_url() . "usr/usr_list"; 
    $config["total_rows"] = $this->ListModel->record_count(); 
    $config['full_tag_open'] = '<ul class="pagination">'; 
    $config['full_tag_close'] = '</ul>'; 
    $config['first_link'] = false; 
    $config['last_link'] = false; 
    $config['first_tag_open'] = '<li>'; 
    $config['first_tag_close'] = '</li>'; 
    $config['prev_link'] = '&laquo'; 
    $config['prev_tag_open'] = '<li class="prev">'; 
    $config['prev_tag_close'] = '</li>'; 
    $config['next_link'] = '&raquo'; 
    $config['next_tag_open'] = '<li>'; 
    $config['next_tag_close'] = '</li>'; 
    $config['last_tag_open'] = '<li>'; 
    $config['last_tag_close'] = '</li>'; 
    $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["per_page"] = 10; 
    $config["uri_segment"] = 3; 
    $choice = $config["total_rows"]/$config["per_page"]; 
    $config["num_links"] = round($choice); 

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

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 

    $data["results"] = $this->ListModel->getUser($config["per_page"] , $page); 
    $data["links"] = $this->pagination->create_links(); 
    $this->load->view('userList' , $data); 
} 

あなたは最後のレコードが2ページで見ることができる画像で私のモデルコード

​​

}

だが4つのリンク

があることを...私のコントローラのコードです

提案がありますか?

+0

"record_count"関数を "ListModel"モデルに投稿できますか? – Vivek

+0

$ config ["num_links"] = 1を変更してください。これは現在のページの前後に表示するページ数であるため、0にすることもできます。実際のリンクは、total_rowsおよびper_page設定で計算されます。 – TimBrownlaw

+0

@vivekこれは、ラウンド関数のコードです。 public function record_count(){ return $ this-> db-> count_all($ this-> db-> dbprefix。 'attendence'); } –

答えて

2

あなたのrecord_count()関数は 'attendency'テーブルのエントリ数を返しますが、ページテーブルに表示されるデータは 'user'テーブル(getUser関数)からのものです。 「出席者」テーブルには、おそらく「ユーザー」テーブルよりも多くのレコードがあるため、余分なページネーションリンクが表示されます。

record_count()関数を次のように変更します。

public function record_count() { 
    return $this->db->count_all('user'); 
} 
+0

私はこの間違いに気付かなかった。 –

関連する問題