2016-10-12 4 views
0

Pagination не работает над моим проектом, и ничего не было показано (без разбивки на страницы - 1,2,3, ... и я получаю полные результаты из базы данных).с использованием разбивки на страницы с кодомigniter

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

public function list_result() 
{ 

    $this->run_cache(); 
    $this->initialize_limit(); 
    $limit = (is_int($this->uri->segment(2)))?$this->uri->segment(2):0; 
    $offset = $this->result_limit; 
    $query = "SELECT title,user_photo,id,created_date 
       FROM result"; 
    $query .= " LEFT JOIN users ON result.user_id = users.user_id "; 

    if ($this->uri->segment(2) == 'popular') { 
     $this->session->set_userdata('filterQuery', " ORDER BY result.id DESC "); 
    } 
    $query .= " WHERE state = 1"; 
    $query .= $this->filter_query(); 

    if (!$this->session->userdata('filterQuery')) { 
     $query .= " ORDER BY created_date DESC "; 
    } 
    $query .= " LIMIT " . $limit . "," . $offset; 
    $grow['result'] = $this->db->query($query)->result(); 

    $this->load->library('pagination'); 
    $config['base_url'] = base_url() . "site"; 
    $config['total_rows'] = count($grow['result']); 
    $config['per_page'] = $this->result_limit; 
    $config['uri_segment'] = 2; 
    $config['full_tag_open'] = '<ul class="uk-pagination">'; 
    $config['full_tag_close'] = '</ul>'; 
    $config['num_tag_open'] = '<li>'; 
    $config['num_tag_close'] = '</li>'; 
    $config['cur_tag_open'] = '<li class="uk-active"><span>'; 
    $config['cur_tag_close'] = '</span></li>'; 
    $config['use_page_numbers'] = TRUE; 
    $this->pagination->initialize($config); 
    $grow['links'] = $this->pagination->create_links(); 

    $grow['site'] = $this; 
    $this->load->view('share/list_result', $grow); 
} 

Мое мнение:

<?php 
if (count($result) > 0) { 
    ?> 
    <?php 
    foreach ($result as $row) { 
     ?> 
     show results here 
     <?php 
    } 
    ?> 
    <p><?php echo $links; ?></p> <!-- Nothing shown here --> 
<?php } else { ?> 

      No Result Found 
<?php 
} 
?> 

Можете ли вы помочь мне найти, где я сделал ложное здесь?

+0

сделать 'print_r ($ результат)' в поле зрения и проверить, что результат получают –

+0

$ конфигурации [ 'TOTAL_ROWS'] = количество ($ растут [ 'результат']); // error, здесь вам нужно предоставить общее количество данных (без ограничений) – Rijin

+0

проверить, что ваш предел набора не работает в вашем запросе. –

ответ

0

Здесь как я обработал для того чтобы разрешить проблему. Для пользователей, которые имеют такую ​​же проблему и googled здесь.

Я изменил:

$limit = (is_int($this->uri->segment(2)))?$this->uri->segment(2):0; 

Для

$limit = (is_numeric($this->uri->segment(2)))?($this->uri->segment(2) - 1):0; 
Смежные вопросы