2011-01-18 5 views
0

Helo. Я пытаюсь сделать разбиение на страницы. У меня есть 3 функции, первая категория отображения, 2-е отображение скатегории. Третье отображение элементов - холодное get_books_by_subcategory. Третья функция получает аргумент segment-> url (3), я хочу сделать разбивку на страницы в той же функции. но я не могу это сделать.CodeIgniter Pagination Problem

Это функции код в контроллере:

function get_category() 
    { 

     $query = $this->Kategorie_model->get_category(); 
     $this->response['podkategorie'] = ''; 
     $this->response['kategorie'] = ''; 
     $podkategorie = ''; 




     if($query->num_rows() > 0) 
     { 
      foreach($query->result() as $item) 
      { 
       $podkategorie = $this->get_sub_category($item->CAT_ID); 

       $this->response['kategorie'] .= $this->load->view('Ksiegarnia/left', array('kategorie' =>$item, 'podkategorie'=>$podkategorie), true); 
      } 
     } 

     $data = $this->response['kategorie']; 
     return $data; 

    } 





    function get_sub_category($id) 
    { 


      $this->response['wynik'] = ''; 


      $query = $this->Kategorie_model->get_sub_category($id); 

      if($query->num_rows() > 0) 
      { 


       foreach($query->result() as $row) 
       { 

        $link = site_url('ksiegarnia/get_books_by_subcategory/'.$row->SUBC_ID); 
        $this->response['wynik'] .= '<div class="subcat_name"><a href = "'.$link.'">'.$row->SUBC_Name.'</a></div>'; 

       } 
      } 
      else 
      { 
       $this->response['wynik'] = '<H1>BRAK DANYCH </H1>'; 
      } 


      return $this->response['wynik']; 
    } 



    function get_books_by_subcategory() 
    { 
     $widok['center'] = ''; 
     $widok['left'] = $this->get_category(); 
     $widok['right'] = $this->load->view('Ksiegarnia/right', '', true); 
      $id = $this->uri->segment(3); 
     if(isset($id) and is_numeric($id)) 
     { 
      $query = $this->Kategorie_model->get_books_by_subcategory($id, $this->uri->segment(4)); 


      if($query->num_rows() > 0) 
      { 

       foreach($query->result() as $item) 
       { 


        $widok['center'] .= $this->load->view('Ksiegarnia/get_books', array('data' =>$item), true); 

       } 
      } 
      else 
      { 
       $widok['center'] = $this->load->view('Ksiegarnia/get_books', array('tytul' =>'<h1>brak danych</h1>'), true);; 
      } 

      $widok['center'] .= $this->pagination->create_links(); 
      $this->load->view('Ksiegarnia/index', $widok); 

     } 



    } 

И это моя модель:

function get_books_by_subcategory($id, $offset=0) 
    { 

        $config['base_url'] = 'http://lukaszbielecki.cba.pl/ksiegarnia/CI/index.php/ksiegarnia/get_books_by_subcategory/'.$id; 
        $config['per_page'] = 7; 
        $this->db->where('SUB_CATEGORY_SUBC_ID', $id); 


        $config['total_rows'] = $this->db->get('books')->num_rows(); 
        $config['num_links'] = 20; 

        $this->pagination->initialize($config); 
     return $this->db->get('books',$config['per_page'],$offset); 
      //$wynik = $this->db->query("Select * from books where SUB_CATEGORY_SUBC_ID = '".$id."'"); 
      //return $wynik; 
    } 

Аргументы в URL меняется, но dispalyin лишь элементы из первой подкатегории. Помогите, пожалуйста.

ответ

0

В этой строке $widok['center'] = $this->load->view('Ksiegarnia/get_books', array('tytul' =>'<h1>brak danych</h1>'), true);; в вашем контроллере у вас есть дополнительная точка с запятой ;, которая вызывает синтаксическую ошибку.

+0

И что. Эта строка выполняется только тогда, когда num_row() имеет значение lass than 0. Если ошибка никогда не отображала его среднее значение, это условие «else» никогда не выполнялось. У меня другая проблема ... – luke