2011-12-03 25 views
1
public function index($page = 0) { 
    $this->load->library('pagination'); 
    $conf = array(
     'total_rows' => 11, 
     'base_url' => 'localhost/admin/product/index', 
     'per_page' => 10, 
     'use_page_numbers' => false 
    ); 
    $this->pagination->initialize($conf); 
    $this->load->view('product/index'); 
} 

鑑於PHP CodeIgniter的分頁鏈接打破

<?php echo $this->pagination->create_links(); ?> 

在它正常工作的第一頁。當我點擊頁面2鏈接時,它只顯示一個產品,這是正確的,但當前頁面的分頁鏈接仍然在第一頁。假設這應該是第二頁。

哪部分我做錯了?

+0

好了,分頁類是不加密的 – ajreal

+0

你是什麼意思嗎? –

+0

我意識到我的uri_segment是4.然而,默認的分頁uri_segment是3.因此,只要這樣做:$ conf ['uri_segment'] = 4; –

回答

0

那麼,分頁類在查詢字符串中使用「per_page」。所以,你必須用10分這個數字(在你的情況下),並加1得到真正的頁號,即:

localhost/product/index (page 1) 
localhost/product/index?per_page=10 (page 2) 
localhost/product/index?per_page=20 (page 3) 
... 
localhost/product/index?per_page={10n) (page n+1) 

這是有用的直接對數據庫的限制子句中使用:

$this->db->limit(10, $this->input->get('per_page'))... 

我想這就是爲什麼CI選擇這樣做的....

+0

CI_Pagination對象 ( [BASE_URL] => HTTP://本地主機/項目/管理/產品/索引 [前綴] => [後綴] => [TOTAL_ROWS] => 11 [per_page] => 10 [NUM_LINKS] => 2 ... } 這是分頁對象的配置,我仍然無法找出問題。 –

+0

我已經發現了這個問題,我上面已經評論了答案。謝謝您的回答無論如何 –

+0

這真是令人沮喪,沒有意識到你在使用段而不是查詢字符串,呵呵,Upvote的努力?) – landons