2013-06-19 42 views
1

我嘗試使用codeigniter的class分頁,但是我遇到了一個問題,即活動頁面的鏈接始終是第一頁。 我的控制器代碼codeigniter中的CI_Pagination工作不正確?

<?php 
class Users extends CI_Controller 
{ 
    function __construct() 
    { 
     parent::__construct(); 
     $this->is_logged_in(); 
    } 

    function index() 
    { 
     $data['main_content'] = 'admin/users_manage'; 
     $data['left_menu'] = 'admin/left_menu_users'; 
     $this->load->view('admin/include/templates_login', $data); 
    } 

    function select() 
    { 

     $this->load->library('pagination'); 
     $this->load->library('table'); 
     $this->load->model('user_model'); 

     //$this->table->set_heading('Id', 'The Title', 'The Content'); 

     $config['base_url'] = 'http://localhost/cib/index.php/admin/users/select'; 
     $config['total_rows'] = $this->db->get('users_view')->num_rows(); 
     $config['per_page'] = 10; 
     $config['num_links'] = 20; 
     //$config['full_tag_open'] = '<div class="pagination">'; 
     //$config['full_tag_close'] = '</div>'; 

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

     $data['records'] = $this->user_model->getUsers($config['per_page'], $this->uri->segment(4)); 
     $data['main_content'] = 'admin/users_manage'; 
     $this->load->view('admin/include/templates_login', $data); 
     //$this->load->view('admin/site_view', $data); 
    } 

    function is_logged_in() 
    { 
     $is_logged_in = $this->session->userdata('is_logged_in'); 
     if(!isset($is_logged_in) || $is_logged_in != true) 
     { 
      echo 'You don\'t have permission to access this page.'; 
      echo anchor('admin/login/index', 'Login'); 
      die(); 
      //$this->load->view('login_form'); 
     } 
    } 
} 
?> 

而且我的模型代碼:

<?php 
class User_model extends CI_Model 
{ 
    function validate() 
    { 
     $username = $this->input->post('username'); 
     $password = $this->input->post('password'); 

     $this->db->where('username', $username); 
     $this->db->where('password', md5($password));  

     $query = $this->db->get('users'); 
     if($query->num_rows == 1) 
     { 
      return true; 
     } 
     return false; 
    } 

    function getUsers($num="", $offset="") 
    { 
     $this->db->limit($num,$offset); 
     $query = $this->db->get('users_view'); 
     return $query; 
    } 
} 

和我的看法頁: 管理/包括/ templates_login.php:

<?php $this->load->view('admin/include/header'); ?> 

<?php $this->load->view('admin/include/nav');?> 

<?php //if (isset($left_menu)) $this->load->view($left_menu)?> 

<?php $this->load->view($main_content); ?> 

<?php $this->load->view('admin/include/footer'); ?> 

管理/ users_manage.php:

超級分頁使用CodeIgniter

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

在控制器select()函數是使用類CI_Pagination.I可以得到不同的頁面database.But它呈現的鏈接有一個功能首頁鏈接始終處於活動狀態的問題。

enter image description here

正如你所看到的,它呈現的數據實際上是第11頁,但在主鏈路仍然是第一頁。(請注意,我用的引導和笨)。

+1

你沒有定義'$配置[「uri_segment」]' – tomexsans

+0

現在工作得很好,非常感謝你。 – Charles0429

+0

沒問題開心地幫忙 – tomexsans

回答

1

您需要添加到您的代碼活動頁面鏈接:

$config['uri_segment'] = $this->uri->segment(4);