CI 묻고 답하기

제목 체크박스후에 페이징 처리..도움이 필요합니다...ㅠㅠ
글쓴이 iko 작성시각 2012/07/23 17:29:06
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 18338   RSS
 안녕하세요 php 와 코드이그나이터 모두 초보입니다..
간단한 쇼핑몰을 공부용으로 만들어보고 있는데 너무 심하게 막히는부분이 있어 질문드립니다.
구글 유투브에 정말 수십개의 다른 키워드로 검색을 해봐도 마땅한 답변이 없어 이곳에 고수님들께 여쭈어봅니다.
...아주 조그마한 조언이라도 정말 진심으로 감사하게 생각하겠습니다.

체크박스에서 카테고리를 몇개 선택후에 서밋을하면 요청한 데이타를 불러온후  페이징처리를 못하겠습니다...
페이징과 total row까지는 나오는데 두번째페이지부터는 체크박스 벨류들이 사라지네요...
값이 배열로 전달되고 동적으로 넘어오는데 페이징시에 값을 어떻게 저장,전달해야하는지 모르겠습니다...ㅠㅠㅠㅠ

컨트롤러부분입니다.

      class Category extends CI_Controller
      {
          function fridge($offset=0)
          {
              $limit = 20;
              
              $data['main_content'] = 'fridge';
              $data['title'] = 'Fridge';
              
              $this->load->model('category_model');
              $data['fridge_brands'] = $this->category_model->get_fridge_brand();
              
              $brand_array = $this->input->post('brand');
              
              $data['number_of_total_fridges'] = $this->category_model->get_total_fridges_row($brand_array);
              $this->load->library('pagination');
              
              $config = array(
                  
                  'base_url' => site_url('category/fridge/'),   
                  'total_rows' => $data['number_of_total_fridges'],
                  'num_links' => 3,
                    'full_tag_open' => '<div class="pagination">',
                    'full_tag_close' => '</div>',
                    'next_link' => FALSE,
                    'prev_link' => FALSE,
                    'per_page' => $limit                  
              );
              
              $this->pagination->initialize($config);
              
              $data['products'] = $this->category_model->get_fridge_list($limit,$brand_array,$offset);  
              $data['pagination'] = $this->pagination->create_links();
              
              $this->load->view('includes/template',$data);
              
          }

}

model입니다.

  class Category_model extends CI_Model
  {
      
      function get_fridge_brand()
      {
         $query = $this->db->select('id,name')->from('brand')->like('product','fridge')
                       ->get()->result();
         
         return $query;
      }
      
      function get_total_fridges_row($brand_array)
      {
          
          $brand_array_count = count($brand_array);
 
          if(!empty($brand_array))
          {
              
          for($i=0;$i<$brand_array_count;$i++)
          {
              $this->db->or_where('brand',$brand_array[$i]);       
              $this->db->where('type','fridge');                        
          }
          
          }
        else
        {
            $this->db->where('type','fridge');   
        }
 
          return $this->db->select('brand')->from('product')->count_all_results();
          
      }
      
      function get_fridge_list($limit,$brand_array,$offset)
      {
          $this->db->select('*')->from('product');
          
          $brand_array_count = count($brand_array);          
            
          if(!empty($brand_array))
          {
              
          for($i=0;$i<$brand_array_count;$i++)
          {
              $this->db->or_where('brand',$brand_array[$i]);  
              $this->db->where('type','fridge');              
          }
          
          }
        else
        {
            $this->db->where('type','fridge'); 
        }
 
          return $this->db->limit($limit,$offset)->get()->result();          
      }
  }

정말 20일이후로 아무것도 못하고 3일때 끙끙거리고있습니다....도와주세요....
 다음글 interface & abstract 키워드는.... (7)
 이전글 트위터 연동 질문드립니다. (2)

댓글

변종원(웅파) / 2012/07/23 18:17:35 / 추천 0
첫 번째 페이지에서 선택한 값들을 2 페이지로 이동해도 유지하고 싶다는거죠?

주소에서 페이지변수를 제일 마지막으로 이동시키고

'base_url' => site_url('category/fridge/셀렉트키/셀렉트값/page'),  

형태로 넘기세요.
iko / 2012/07/23 19:53:41 / 추천 0
 답변 감사드립니다 웅파님...제가 너무 무지한지라 잘 이해가...ㅠㅠㅠㅠ배열로 넘어오는값들에 키와 값을 어떻게 site_url한줄에 넣어야 할까요?죄송합니다...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

iko / 2012/07/23 21:02:21 / 추천 0
일단 노력해보겠습니다.감사합니다 웅선생님~!
인스카 / 2012/07/24 12:53:30 / 추천 0
 두 번째 페이지로 넘기는 부분.. 즉 페이징 처리하는 부분에서 현재 페이지의 값을 넘기나요?

iko / 2012/07/24 15:34:21 / 추천 0
안녕하세요 인스카님~! 방금 해결됐습니다~~~4일째 진도를 못나가고 있었는데요~~
체크박스 배열값들을 받아서 "+" 로 연결한다음에 두번째페이지에 변수로 넘기는 방식으로 되었습니다.
암튼 저같은 초보에겐 이런 간단한작업도 너무 어렵네요...