2013-06-19 39 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);