<?php class pagination extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper('form'); $this->load->helper('url'); $this->load->database(); $this->load->library('pagination'); $this->load->model('pagination_model'); } public function index() { //pagination settings $config['base_url'] = site_url('pagination/index'); $config['total_rows'] = $this->db->count_all('tbl_books'); $config['per_page'] = "3"; $config["uri_segment"] = 3; $choice = $config["total_rows"]/$config["per_page"]; $config["num_links"] = floor($choice); // integrate bootstrap pagination $config['full_tag_open'] = '<ul class="pagination">'; $config['full_tag_close'] = '</ul>'; $config['first_link'] = false; $config['last_link'] = false; $config['first_tag_open'] = '<li>'; $config['first_tag_close'] = '</li>'; $config['prev_link'] = '«'; $config['prev_tag_open'] = '<li class="prev">'; $config['prev_tag_close'] = '</li>'; $config['next_link'] = '»'; $config['next_tag_open'] = '<li>'; $config['next_tag_close'] = '</li>'; $config['last_tag_open'] = '<li>'; $config['last_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li class="active"><a href="#">'; $config['cur_tag_close'] = '</a></li>'; $config['num_tag_open'] = '<li>'; $config['num_tag_close'] = '</li>'; $this->pagination->initialize($config); $data['page'] = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; // get books list $data['booklist'] = $this->pagination_model->get_books($config["per_page"], $data['page'], NULL); $data['pagination'] = $this->pagination->create_links(); // load view $this->load->view('pagination_view',$data); } function search() { // get search string $search = ($this->input->post("book_name"))? $this->input->post("book_name") : "NIL"; $search = ($this->uri->segment(3)) ? $this->uri->segment(3) : $search; // pagination settings $config = array(); $config['base_url'] = site_url("pagination/search/$search"); $config['total_rows'] = $this->pagination_model->get_books_count($search); $config['per_page'] = "5"; $config["uri_segment"] = 4; $choice = $config["total_rows"]/$config["per_page"]; $config["num_links"] = floor($choice); // integrate bootstrap pagination $config['full_tag_open'] = '<ul class="pagination">'; $config['full_tag_close'] = '</ul>'; $config['first_link'] = false; $config['last_link'] = false; $config['first_tag_open'] = '<li>'; $config['first_tag_close'] = '</li>'; $config['prev_link'] = 'Prev'; $config['prev_tag_open'] = '<li class="prev">'; $config['prev_tag_close'] = '</li>'; $config['next_link'] = 'Next'; $config['next_tag_open'] = '<li>'; $config['next_tag_close'] = '</li>'; $config['last_tag_open'] = '<li>'; $config['last_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li class="active"><a href="#">'; $config['cur_tag_close'] = '</a></li>'; $config['num_tag_open'] = '<li>'; $config['num_tag_close'] = '</li>'; $this->pagination->initialize($config); $data['page'] = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0; // get books list $data['booklist'] = $this->pagination_model->get_books($config['per_page'], $data['page'], $search); $data['pagination'] = $this->pagination->create_links(); //Load view $this->load->view('pagination_view',$data); } } ?>
set model this way
<?php class pagination_model extends CI_Model{ function __construct() { parent::__construct(); } //fetch books function get_books($limit, $start, $st = NULL) { if ($st == "NIL") $st = ""; $sql = "select * from tbl_books where name like '%$st%' limit " . $start . ", " . $limit; $query = $this->db->query($sql); return $query->result(); } function get_books_count($st = NULL) { if ($st == "NIL") $st = ""; $sql = "select * from tbl_books where name like '%$st%'"; $query = $this->db->query($sql); return $query->num_rows(); } } ?>
view look like this
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CodeIgniter Pagination Example with Search Query Filter</title> <link rel="stylesheet" href="<?php echo base_url("bootstrap/css/bootstrap.css"); ?>"> <style type="text/css"> .bg-border { border: 1px solid #ddd; border-radius: 4px 4px; padding: 15px 15px; } </style> </head> <body> <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2 well"> <?php $attr = array("class" => "form-horizontal", "role" => "form", "id" => "form1", "name" => "form1"); echo form_open("pagination/search", $attr);?> <div class="form-group"> <div class="col-md-6"> <input class="form-control" id="book_name" name="book_name" placeholder="Search for Book Name..." type="text" value="<?php echo set_value('book_name'); ?>" /> </div> <div class="col-md-6"> <input id="btn_search" name="btn_search" type="submit" class="btn btn-danger" value="Search" /> <a href="<?php echo base_url(). "index.php/pagination/index"; ?>" class="btn btn-primary">Show All</a> </div> </div> <?php echo form_close(); ?> </div> </div> <div class="row"> <div class="col-md-8 col-md-offset-2 bg-border"> <table class="table table-striped table-hover"> <thead> <tr> <th>#</th> <th>Book Name</th> <th>Author Name</th> <th>ISBN</th> </tr> </thead> <tbody> <?php for ($i = 0; $i < count($booklist); ++$i) { ?> <tr> <td><?php echo ($page+$i+1); ?></td> <td><?php echo $booklist[$i]->name; ?></td> <td><?php echo $booklist[$i]->author; ?></td> <td><?php echo $booklist[$i]->isbn; ?></td> </tr> <?php } ?> </tbody> </table> </div> </div> <div class="row"> <div class="col-md-8 col-md-offset-2"> <?php echo $pagination; ?> </div> </div> </div> </body> </html>
Contact Controller [crayon-67a6c4a384c6c809876688/] Contact_form.php - view [crayon-67a6c4a384c75928211954/] Contact_model [crayon-67a6c4a384c7a635723559/] Captcha Helper [crayon-67a6c4a384c7f024470756/] Notifications_model [crayon-67a6c4a384c86502542512/] Database…
[crayon-67a6c4a384fc6656895187/] [crayon-67a6c4a384fcb211649192/]
[crayon-67a6c4a385117558179566/] The first parameter specifies the type of string, the second parameter specifies the length.…
Create Controller [crayon-67a6c4a3851e4367800837/] 2. Create View File [crayon-67a6c4a3851e8759959778/]
[crayon-67a6c4a3852bb963907944/] [crayon-67a6c4a3852be271053230/]
All of the native error messages are located in the following language file: system/language/english/form_validation_lang.php To set…