简体   繁体   中英

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);

    });

});

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'; $config["base_url"] = base_url() . 'user/index';

Try This link for example

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM