0

codeignitet のページネーションとルートに問題があります。
関数クラスのルートを次のように設定します。

$route['admin/panel/students/new-stuedents-list/:num'] = "admin/newStuedentsList/$1";

次に、コントローラーで、ページネーションライブラリを呼び出し newStuedentsListてロードする関数を作成します。すべてが正常に機能しますが、ページネーションナビゲーション... :(
ページは正常にロードされました...
そしてデータは正しいです...
例のページをクリックするとバット2 、ページ 2 は正常にロードされましたが、ページネーション ナビゲーションはページ i ボタンを表示します ...!
ページ 4 フォーム URL を呼び出すと (http://localhost/d/index.php/admin/panel/students/new-students-list /30) 、再びデータは正しくなります...しかし、ページネーション ナビゲーション ショー ページ 1 ボタンとページ数は変わりません!

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

$config['base_url'] = 'http://localhost/d/index.php/admin/panel/students/new-stuedents-list/';
$config['total_rows'] = $this->db->get('new_contest')->num_rows();
$config['pre_page'] = 10;
$config['num_links'] = 20;
$config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
$adminInfo = $this->admin_model->adminInfo();
$newStudentsList['students'] = $this->admin_model->newStudentsList($config['pre_page'],$this->uri->segment(5));

$data = array_merge($adminInfo,$newStudentsList);
$this->load->view('admin/newStudentsList',$data);

しかし、次の場合newStuedentsList:

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

$config['base_url'] = 'http://localhost/d/index.php/admin/newStuedentsList/';
$config['total_rows'] = $this->db->get('new_contest')->num_rows();
$config['pre_page'] = 10;
$config['num_links'] = 20;
$config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
$adminInfo = $this->admin_model->adminInfo();
$newStudentsList['students'] = $this->admin_model->newStudentsList($config['pre_page'],$this->uri->segment(3));

$data = array_merge($adminInfo,$newStudentsList);
$this->load->view('admin/newStudentsList',$data);

すべてがうまくいきます!
この問題を解決するにはどうすればよいですか...?

4

1 に答える 1

2

設定を 1 つ忘れました:

$config['uri_segment'] = 5;

URI のどのセグメントにページ番号が含まれているかを判断するため。

そしてpre_pageper_page

于 2013-05-04T19:28:42.863 に答える