Tejaswee
Tejaswee

Reputation: 159

pagination links not working properly in codeigniter

I am working on pagination in codeigniter using ajax , I have problem with pagination links, if I click on second link then url will change but there is no data load on second page and also showing active first link with second link.

my controller function from star.php

public function filtersearch()
    {
        $proSearch = implode(",", $_POST['search']) ;

        $cat = $_POST['cat'];
        log_message('error', 'post value is  '.$proSearch );
        log_message('error', '  '.$cat );
        $config = array();
        $config["base_url"] = "#";
        $config['page_query_string'] = TRUE;
        $config['reuse_query_string'] = true;
        $config["total_rows"] = $this->Star_model->getfilterCount($proSearch,$cat);
        $config["per_page"] = 2;
        $config["uri_segment"] = 4;
         $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);
        $offset = $this->input->get('offset');
         $this->pagination->cur_page = $offset;
        $data['links'] = $this->pagination->create_links();
             $output = array(
                'pagination_link'  => $this->pagination->create_links(),
                 'country_table'   => $this->Star_model->getfilterSearch($proSearch,$cat,$config["per_page"],$offset)
                 );

             $this->output->set_content_type('application/json');

             echo json_encode($output);
            }

    }

and view page products.php coding for send input for getdata through ajax

$(".cl").live("click", function () {
var val = $('input[type=checkbox]:checked').map(function(_, el) {
        return $(el).val();
    }).get();

        var cat = $("#sub_cat").val();

            $.ajax({
            type: "POST",
            url: "<?php echo base_url();?>star/filtersearch",
            data: {search: val, cat: cat},
            dataType:"json",
            success:function(data){
           $("#asd").hide();
            $('#country_table').html(data.country_table);
            $('#pagination_link').html(data.pagination_link);

        }
        });

    });

here is coding of getting data after click on link

$(document).ready(function(){

function load_data(page)
 {
    var val = $('input[type=checkbox]:checked').map(function(_, el) {
        return $(el).val();
    }).get();

        var cat = $("#sub_cat").val();
        alert(val+cat);
    $.ajax({
    url:"<?php echo base_url();?>star/filtersearch",
   method:"POST",
   data: {search: val, cat: cat},
   dataType:"json",
   success:function(data)
   {

    $('#country_table').html(data.country_table);
    $('#pagination_link').html(data.pagination_link);
    $("#asd").hide();
   }
  });

 }
  load_data(1);

  $(".pagination li a").live("click", function () {
       var cur_page = $(this).attr('data-ci-pagination-page'); // I haved test with attr('href') but not ok.
               load_data(cur_page);

    });

});

Upvotes: 1

Views: 835

Answers (1)

Anu
Anu

Reputation: 558

set your base url as the current URL of the page where you are applying the pagination

$config["base_url"] = "#";

eg: $config["base_url"] = base_url() . 'user/index';

Try This link for example

Upvotes: 2

Related Questions