How To Implement Pagination In Codeigniter ion_auth library?
This is how I implemented pagination customized using bootstrap styles in Codeigniter ion_auth Library.
Controller
Controller
function display_user()
{
$this->data['title'] = "Display User";
if (!$this->ion_auth->logged_in() || !$this->ion_auth->is_admin())
{
redirect('auth', 'refresh');
}
$this->load->library('pagination');
$config = array();
$config["base_url"] = base_url() . "auth/display_user/";;
$config['total_rows'] = $this->ion_auth->users()->num_rows();
$config['per_page'] = '30';
//pagination customization using bootstrap styles
$config['full_tag_open'] = ' <ul class="pagination pull-right">';
$config['full_tag_close'] = '</ul><!--pagination-->';
$config['first_link'] = '« First';
$config['first_tag_open'] = '<li class="prev page">';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last »';
$config['last_tag_open'] = '<li class="next page">';
$config['last_tag_close'] = '</li>';
$config['next_link'] = 'Next →';
$config['next_tag_open'] = '<li class="next page">';
$config['next_tag_close'] = '</li>';
$config['prev_link'] = '← Previous';
$config['prev_tag_open'] = '<li class="prev page">';
$config['prev_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li class="page">';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$the_uri_segment = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$config['uri_segment'] = $the_uri_segment;
//list the users
$this->data['users'] = $this->ion_auth->offset($this->uri->segment($the_uri_segment))->limit($config['per_page'])->users()->result();
foreach ($this->data['users'] as $k => $user)
{
$this->data['users'][$k]->groups = $this->ion_auth->get_users_groups($user->id)->result();
}
$this->data['links'] = $this->pagination->create_links();
//set the flash data error message if there is one
$this->data['message'] = (validation_errors()) ? validation_errors() : $this->session->flashdata('message');
$this->data['include'] = 'auth/display_user';
$this->_render_page('auth/template', $this->data);
}
Views
<?php echo $links;?> //output the proper pagination links styled with twitter bootstrap css

Comments
Post a Comment