0

いくつかのことを理解した後でこれを編集しましたが、インデックスにリンクが必要な場合、これは良い方法ですか?関数ページがないと、base_urlがtest / indexの場合は正しく機能しませんが、test/testは機能します。

コントローラ

クラスTestはCI_Controllerを拡張します{

public function __construct()
{
    parent::__construct();
    $this->load->model('Test_model');
    $this->load->library('pagination');
}

public function index()
{
    $page['title']  = '';
    $page['file']   = 'test/index';

    $config['base_url'] = base_url().'test/page';
    $config['total_rows'] = $this->Test_model->record_count();
    $config['per_page'] = 2;
    $config['num_links'] = 5;

    $offset = $this->uri->segment(3,0);

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

    $page['data']['items'] = $this->Test_model->getItems($config['per_page'], $offset);
    $page['data']['pagination'] = $this->pagination->create_links();
    $this->load->view('template', $page);
}

public function page()
{
    $page['title']  = '';
    $page['file']   = 'test/index';

    $config['base_url'] = base_url().'test/page';
    $config['total_rows'] = $this->Test_model->record_count();
    $config['per_page'] = 2;
    $config['num_links'] = 5;

    $offset = $this->uri->segment(3,0); 

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

    $page['data']['items'] = $this->Test_model->getItems($config['per_page'], $offset);
    $page['data']['pagination'] = $this->pagination->create_links();
    $this->load->view('template', $page);
}

}

モデル

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

public function getItems($limit, $offset)
{
    $query = $this->db->get('item', $limit, $offset);
    $result = $query->result();
    return $result;
}

見る

<h2><?=$pagination; ?></h2>
<table>
<?php foreach($items as $item) { ?>

<tr><td><?=$item->name?></td></tr>

<?php } ?>
4

2 に答える 2

2

これを試して:

function  __construct()
    {

        parent::__construct();
        $this->load->helper('array');
        $this->load->helper('url');
        $this->load->library('pagination');
        $this->load->model('Test_model','',TRUE);
    }

function index($uri_segment="3")
{   
        $config['base_url'] = base_url('test/index');
        $config['total_rows'] = $this->Test_model->record_count();
        $config['per_page'] = 5;
        $config['uri_segment'] = 3;
        $this->pagination->initialize($config);

$page['data']['products'] = $this->Test_model->getItems($config['per_page'],$this->uri->segment(3));

    $page['data']['pagination']= $this->pagination->create_links();
    $page['title']  = '';
    $page['file']   = 'test/index';

    $this->load->view('template', $page);
}

生成されたリストに次のページをクリックしたときにランダムなページが表示される場合は、次のID(+5)ではなく次のページ番号を取得する必要があります。そのような場合は、

   $config['use_page_numbers'] = TRUE;

ページネーション設定を初期化する前。

于 2012-09-03T06:55:30.123 に答える
1

コントローラでは、これを更新する必要があります

public function index()
    {

        $this->load->library('pagination');

        $config['base_url'] = base_url().'test/index'; // use test/test and it works
        $config['total_rows'] = $this->Test_model->record_count();
        $config['per_page'] = 5;
        $config['num_links'] = 10;
        $config['uri_segment'] = 3;  

        $offset = $this->uri->segment(3,0);

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

        $page['data']['products'] = $this->Test_model->getItems($config['per_page'], $offset);
        $page['data']['pagination'] = $this->pagination->create_links();

        $page['title']  = '';
        $page['file']   = 'test/index';

        $this->load->view('template', $page);
    }

ここにあなたのための役立つリンクがあります Codeigniterページネーション

于 2012-09-03T04:31:02.973 に答える