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 echo $this->pagination->create_links(); ?>

最初のページでは正しく動作します。ページ 2 のリンクをクリックすると、1 つの製品のみが表示されます。これは正しいのですが、現在のページのページネーション リンクはまだ 1 ページにあります。これがページ 2 であるとします。

どの部分を間違えましたか?

4

1 に答える 1

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)

これは、データベース limit 句で直接使用すると便利です。

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

それがCIがそのようにすることを選んだ理由だと思います....

于 2011-12-03T05:08:42.893 に答える