2015-10-22 3 views
1

Я создаю разбиение на страницы с использованием Codeigniter, и моя проблема заключается в ошибке при отображении ссылок на номера страниц в моем URL-адресе.Ошибка при создании ссылок на номера страниц с помощью Codeigniter

пример я иду на странице 2 мой URL будет выглядеть так:

http://localhost/my_project/inbound/listing/1 

если страница 3

http://localhost/my_project/inbound/listing/2 

Вот мой контроллер

$config = array(); 
    $config['base_url'] = base_url('inbound/listing'); 
    $config['total_rows'] = $this->mod->countList(); 
    $config['per_page'] = 1; 
    $config['uri_segment'] = 3; 

    //fd($config); 

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

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 

    fp($page, 'pink'); //print out result 

    $order = ($this->input->get('order'))? $this->input->get('order'): ''; 
    $sort = ($this->input->get('sort'))? $this->input->get('sort'): ''; 

    // Query data 
    $data['data_list'] = $this->mod->listing($config['per_page'], $page); //where, limit, page, field, sort  

    fP($data['data_list']); //print out result 

    $data['pagination'] = $this->pagination->create_links(); 

Тогда моя модель для генерации ссылки :

function listing($limit, $start) 
    { 

     //DATE_FORMAT(`post_date_added`, "%m/%d/%Y %H:%i") as `proper_post_date_added`, 
     $this->db->select('*'); 
     $this->db->from('inventory'); 
     $this->db->limit($limit, $start); 


     $query = $this->db->get(); 

     //$rows = $query->result_array(); 

     if($query->num_rows() > 0) { 
      foreach($query->result() as $row) { 
       $data[] = $row; 
      } 
      return $data; 
     } 
     return false; 

    } 

Можете ли вы мне помочь?

+0

Установили ли вы некоторые маршруты для вашего постраничной URL. – user4419336

+0

Нет У меня нет маршрутов для моей разбивки на страницы – Jerielle

+0

прочитайте это http://w3code.in/2015/10/how-to-do-pagination-in-codeigniter/ – Ricky

ответ

2

Если вы хотите перейти на номер страницы на основе вашего URL, измените функцию листинга, чтобы быть похожим на это:

function listing($limit, $start) 
{ 
    $offset_1 = $start - $limit; 
    $offset_2 = $offset_1 < 0 ? 0 : $offset_1; 

    //DATE_FORMAT(`post_date_added`, "%m/%d/%Y %H:%i") as `proper_post_date_added`, 
    $this->db->select('*'); 
    $this->db->from('inventory'); 
    $this->db->limit($limit, $offset_2); 


    $query = $this->db->get(); 

    //$rows = $query->result_array(); 

    if($query->num_rows() > 0) { 
     foreach($query->result() as $row) { 
      $data[] = $row; 
     } 
     return $data; 
    } 
    return false; 

} 
+0

благодаря его работе сейчас :) – Jerielle

+0

Добро пожаловать. – Nere

Смежные вопросы