Codeigniter Pagination - PullRequest
       21

Codeigniter Pagination

2 голосов
/ 27 мая 2011

В моем коде есть небольшая проблема, которую я не могу решить. Я использую CI 1.7.2. Я правильно внедрил CI Pagination в систему. Результаты отображаются нормально, но ссылки на нумерации страниц отображаются неправильно.

Например, Если я нажму на страницу 2, то результаты будут отображаться в соответствии со 2-й страницей, но текущая ссылка на номера нумерации страниц останется 1, которая должна измениться на 2.

Вот код, который был реализован

$total = $this->bmodel->countResultsBanner();

    $data['total'] = $total;

    $uri_segment = $this->uri->segment(4);

    if($uri_segment == 0 || empty($uri_segment)){
    $uri_segment = 0;
    }

    $perPage = 5;



    $config['base_url'] = base_url()."index.php/modules/banner/index";

    $config['total_rows'] = $total;

    $config['per_page'] = $perPage;

    $config['num_links'] = 4;

    //$config['cur_tag_open'] = '<b><span class="current_page">';

    //$config['cur_tag_close'] = '</span></b>'; 

    $this->pagination->initialize($config); 

    $result = $this->bmodel->getAllBanners($perPage,$uri_segment);


    $data['result'] = $result;

спасибо заранее.

J

Ответы [ 5 ]

7 голосов
/ 27 мая 2011

Heyy,

Я тоже столкнулся с той же проблемой. В итоге решение оказалось очень простым. :)

по умолчанию CI предполагает, что сегмент uri, используемый для нумерации страниц, равен (3). Что в вашем случае для вас (я предполагаю бесстыдно) неверно.

$config['base_url'] = base_url()."index.php/modules/banner/index";
$config['total_rows'] = $total;
$config['per_page'] = $perPage;
$config['num_links'] = 4;

$config['uri_segment'] = 3; /* segment of your uri which contains the page number */

$this->pagination->initialize($config);

Надеюсь, что это решит вашу проблему

1 голос
/ 27 мая 2011

хорошо ... попробуйте это ...

$total = $this->bmodel->countResultsBanner();

    $data['total'] = $total;

/* Comment out this part
        $uri_segment = $this->uri->segment(4);

        if($uri_segment == 0 || empty($uri_segment)){
        $uri_segment = 0;
        }
    */
    $perPage = 5;



    $config['base_url'] = base_url()."index.php/modules/banner/index";

    $config['total_rows'] = $total;

    $config['per_page'] = $perPage;

    $config['num_links'] = 4;

    //$config['cur_tag_open'] = '<b><span class="current_page">';

    //$config['cur_tag_close'] = '</span></b>'; 

    $this->pagination->initialize($config); 

/*Change the following line*/

 $result = $this->bmodel->getAllBanners($perPage,$this->uri->segment(5));


    $data['result'] = $result;
0 голосов
/ 24 мая 2016

Попробуйте это , это может помочь.

class Admin_model extends CI_Model {

public function __construct() {
    parent::__construct();
}
public function get_product($search, $page, $perpage) {
    $page = $page - 1;
    $page < 0 ? $page = 0 : $page = $page;
    $from = $page * $perpage;
    $query = $this->db
            ->select('*')
            ->from('tbl_product')
            ->limit($perpage, $from)
            ->get();
    return $query->result();
}
}
0 голосов
/ 29 мая 2013
$this->load->library('pagination');
$config['base_url']="http://localhost/CodeIgniter/pagination";

$config['per_page']=2;

$config['total_rows']=  $this->db->get('record')->num_rows();
$this->pagination->initialize($config);
$data['query']=  $this->db->get('record',$config['per_page'],  $this->uri->segment(3));
$this->load->view('pagination',$data);
0 голосов
/ 25 марта 2013
$config['uri_segment'] = num; /* where num is the uri segment where you have page number */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...