제목 | [초보] 머리도 식힐겸 이거 함 보실래요? ㅋ | ||
---|---|---|---|
글쓴이 | 헛발이 | 작성시각 | 2009/11/25 11:12:29 |
|
|||
페이지 할때요... 10개씩 1페이지 누르면 limit 가 1 10 이 되고 2페이지 누르면 limit 가 10 10 이 되고 3페이지 누르면 limit 가 20 10 이 되고 이렇게 되는데요...이렇게 되다보니.. 1페이지에서 문제가 발생하네요.. limit 1 10 이렇게 되다 보니 가장 첫번째 데이터를 못 가져 오던데요... 이거 따로 처리 해 줘야 하는건가요? 아님 절묘한 루틴이 있는데 제가 모르는건가요? ^^; |
|||
다음글 | [초보] codeigniter 뭐가 좋아요? (9) | ||
이전글 | [초보] 페이징 하는데요.. (2) | ||
ci세상
/
2009/11/25 11:21:15 /
추천
0
|
헛발이
/
2009/11/25 11:25:43 /
추천
0
콘트롤
function members() { if (!$this->tank_auth->is_logged_in()) redirect('/auth/login/'); //Login Check $this->load->library('pagination'); $this->load->model('biz_model'); $data['biz'] = $this->biz_model->getCategory(); $data['tab_name'] = $this->uri->segment(1); if ($_POST) { $search_var = array(); if ($_POST['findkey']) foreach($_POST as $key => $val) $search_var[] = "{$key}/{$val}"; $search_url = implode("/",$search_var); $seg_url = explode("/",$search_url); } else { $seg_url = $this->uri->segment_array(); if ($this->seg_value('findkey',$seg_url)) { if($this->seg_value('findword',$seg_url)) { $search_url = "findkey/".$this->seg_value('findkey',$seg_url)."/findword/".$this->seg_value('findword',$seg_url); } else { $search_url = ""; } } else { $search_url = ""; } } $config['per_page'] = 10; $config['num_links'] = 5; $config['first_link'] = '最初'; $config['last_link'] = '最後'; $config['full_tag_open'] = '<p class="pager">'; $config['full_tag_close'] = '</p>'; if ($this->seg_value('findkey',$seg_url)) { $condition = $this->seg_value('findkey',$seg_url)."/".$this->seg_value('findword',$seg_url); } else { $condition = null; } $config['total_rows'] = $this->biz_model->findAll($condition, 'biz_'.$data['tab_name']); $config['base_url'] = SET_WEBROOT.'/'.$data['tab_name'].'/members/'.$search_url.'/page'; $config['uri_segment'] = $this->seg_index('page'); $this->pagination->initialize($config); $data['page_account'] = $this->seg_value('page',$seg_url); $data['query'] = $this->biz_model->getList($data['page_account'], $config['per_page'], SET_TBL_NAME, $condition); $data['findkey'] = $this->seg_value('findkey',$seg_url); $data['findword'] = $this->seg_value('findword',$seg_url); $this->load->view('/biz/members_view', $data); } 모델 function findAll($condition, $table) { $arr = explode('/', $condition); $new_arr = array(); foreach($arr as $key => $value) { if($key % 2 != 0) if($prev_value && $value) { $this->db->like("$prev_value", $value); } $prev_value = $value; } $this->db->order_by("id", "desc"); $query = $this->db->get("$table"); return $query->num_rows(); } function getList($page=null, $rp=null, $table, $condition=null) { $arr = explode('/', $condition); $new_arr = array(); foreach($arr as $key => $value) { if($key % 2 != 0) $this->db->like("$prev_value", $value); $prev_value = $value; } $this->db->order_by("id", "desc"); $query = $this->db->get($table,$rp,$page); return $query->result_array(); }이렇게 햇는데요.. 처음 접하는거라 소스가 엉망이니.. 참고 바람요... |
헛발이
/
2009/11/25 11:34:59 /
추천
0
근데 page/로 넘길땐 page값이 없기 때문에.. limit값이 그냥 limit 10 만 들어가기 때문에
결국 limit 0 10의 결과가 되지만.. 페이지의 값이 1이 있는 경우 page/1 일 경우에는 limit가 limit 1 10이 되기 때문에 첫번째 데이터를 못 가져오더라구요... |
ci세상
/
2009/11/25 13:05:54 /
추천
0
급한대로 ^^ if($data['page_account'] == 1) $data['page_account'] = 0;
|
ci세상
/
2009/11/25 13:16:32 /
추천
0
|
헛발이
/
2009/11/25 14:09:18 /
추천
0
그러게요.... 그래서 아무것도 없을땐 0으로 처리 하고
본문에서 돌아가기나.. 등록후 첫페이지로 돌아갈땐 page값을 안 주고 넘여야 할듯싶은데.. 포럼에서보면 또 첫페이지에는 page/1값을 넘기길래요... ^^; 1페이지를 지정해 줘야 하나 하고 고민하고 있었죠... |
헛발이
/
2009/11/25 14:20:05 /
추천
0
일단 page/1은 page/로 하는걸로 통과 하겠습니다.. ㅋㅋ
이제 다음으로 넘어가야죠... ^^; |
ci세상
/
2009/11/25 14:33:30 /
추천
0
포럼소스는 별도로 만들었습니다.^^
|
토탈카운터 부분에 검색조건 쿼리구문까지 다 넣어주셨는지요?
소스를 함 올려줘보세요^^