제목 | 페이지 네이션 궁금한거 | ||
---|---|---|---|
글쓴이 | 일성 | 작성시각 | 2014/08/13 15:45:12 |
|
|||
db에 있는 recipe 리는 테이블에 조건이 kind에 있는 숫자 1이 되어있는 것을 모두 가지고 왔어
페이지네이션을 사용할려고합니다
근대 controllers 에서
public function page() {
$data['meat'] = $this->i_obj->get_list($this->uri->segment(3,0),12);
$data['ite'] = $this->i_obj->get_lis(1);
$data['gallery'] = $this->i_obj->gallery(1);
//CI에서 제공해주는 페이지 네이션 환경설정
$config['total_rows'] = $this->i_obj->all_count(1);
$config['per_page'] = 12;
$config['base_url'] = site_url('/meat/page');
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['first_link'] = '처음';
$config['first_tag_open'] = '<li> ';
$config['first_tag_close'] = '</li>';
$config['last_link'] = '끝';
$config['last_tag_open'] = '<li> ';
$config['last_tag_close'] = '</li>';
$config['prev_link'] = '이전';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '다음';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$this->pagination->initialize($config);
$data['page'] = $this->pagination->create_links();
$this->load->view('meat_view',$data);
}
이런게 사용하고 models 에서는
function all_count($no) {
//$this->db->where('kind', 1);
//DB전체 값을 전부 받아온다
//return $this->db->count_all('recipe');
//원하는값을 전체 값을 받아 온다
$query = $this->db->query("SELECT * FROM `recipe` WHERE kind ={$no} ;");
if($query){
return $query->num_rows();
}
return 0;
}
이런식으로 했는되 안되더라고요
페이지네이션을 작동하는되 db에 있는 recipe테이블에서 마지막부터 64개 만 가지고 오던라고요 뭐 어떻게하면 위에서 말한것 같이 된수있나요
|
|||
다음글 | body공백 (1) | ||
이전글 | 셋팅문제 조언 부탁드립니다. (1) | ||
변종원(웅파)
/
2014/08/13 18:57:07 /
추천
0
|
darkninja
/
2014/08/13 19:17:28 /
추천
0
단편적인 코드조각만 올리셔서 님의 실력을 알수가 없습니다.
며칠전의 댓글을 단적이 있는데 그걸로 님의 실력을 판단하기도 그렇고 좀더 많은 코드를 올려 주신다면 그것을 기준으로 님이 이해 할 수 있는 답변이 달릴것입니다. 지금으로서는 답변 달기가 좀 거시기합니다! ci 의 기본적인 페이지네이션의 형태는 아래와 같습니다. 그럼 화이팅요^^ class Meat extends CI_Controller { public function __construct() { parent::__construct(); $this->load->library('pagination'); $this->load->model('meat_model'); } public function recipe_page( $no = "1", $page_index = 1 ) { $per_page = 12; $config = array(); $config['total_rows'] = $this->meat_model->all_count( $no ); $config['per_page'] = $per_page; $config['base_url'] = site_url( '/meat/page/'.$no ); $config['uri_segment'] = 4; // $no 가 base_url 에 추가되었으므로 1증가... $this->pagination->initialize($config); $data = Array(); $data['meat'] = $this->i_obj->get_list($this->uri->segment(4,0),12); $data['ite'] = $this->i_obj->get_lis( $no ); $data['gallery'] = $this->i_obj->gallery( $no ); $data['pageLinks'] = $this->pagination->create_links(); $data['recipe'] = $this->meat_model->all_paginated($page_index, $per_page, $no); $this->load->view('meat_view', $data); } } class Meat_model extends CI_Model { public function all_count($no=1) { //$query = $this->db->query("SELECT * FROM `recipe` WHERE kind ={$no} ;"); $this->db->select('count(*) as Cnt'); $this->db->where('kind', $no); $query = $this->db->get('recipe'); if ($query->num_rows() <= 0) { return 0; } return $query->row()->Cnt; } public function all_paginated($page_index=1, $per_page=10, $no=1) { $this->db->select('*'); $this->db->where('kind', $no); $this->db->limit($per_page, ($page_index - 1) * $per_page); $query = $this->db->get('recipe'); return $query->result(); } } |
몇일전에 포럼회원님이 올리신 페이지네이션에 관한 귀중한 동영상 자료입니다.