CI 묻고 답하기

제목 페지네이션질문 드립니다.
카테고리 CI 2, 3
글쓴이 razim 작성시각 2018/02/19 03:07:29
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13804   RSS

안녕하세요.초학도 인사올립니다.

페지네이션을 가지고 테블을 만들고잇는데요.음~

예를 들면 한 페지에 7개씩 표시하겟다고 하면요 즉 $config["per_page"]=7으로 해주고

실행시켜보면 첫 페지를 눌럿을때 번호가 1부터 7까지 나오고 다음 페지를 누르면 다시 1부터 7까지 나오네요.

원래는 7부터 14까지 나오는게 정상이 아닌가요.

총 5개 페지이므로 1부터 35까지 나와야겟는데 1부터 7까지만 반복되더라고요.

이런건 어떡해야 하는지요.

아래에 저의 코드를 올립니다.잘 좀 봐주세요.

controller code

public function ranking_pagination()
	{
		$config["base_url"] = base_url() . "index.php/admin/ranking_setting";
		$config["total_rows"] = count($this->db_model->gets('company_tbl'));	
		$config["per_page"] = 5;//$this->config->item("project_list_count");
		$choice = $config['total_rows']/$config['per_page'];
    	$config['num_links'] = round($choice);
		$config["uri_segment"] = 3;
		$config["full_tag_open"] ='<div class="col-lg-12 login-pag">
										<nav aria-label="Page navigation example">
											<ul class="pagination justify-content-end">';
		$config["full_tag_close"] = '	  </ul>
										</nav>
									</div>';		
		$config["cur_tag_open"] = '<li class="page-item"><a class="page-link">';
		$config["cur_tag_close"] = '</a></li>';
		$config["num_tag_open"] = '<li class="page-item">';
		$config["num_tag_close"] = '</li>';
		$config["prev_tag_open"] = '<li class="page-item">';
		$config["prev_tag_close"] = '</li>';
		$config["prev_link"] = "上一页";
		$config["next_tag_open"] = '<li class="page-item">';
		$config["next_tag_close"] = '</li>';
		$config["next_link"] = "下一页";
		$config['last_link'] = '最后一页';
		$config['first_link'] = '第一页';
		$config['first_tag_open'] = '<li class="page-item">';
		$config['first_tag_close'] = '</li>';
		$config['last_tag_open'] = '<li class="page-item">';
		$config['last_tag_close'] = '</li>';

		$this->pagination->initialize($config);

		$page = ($this->uri->segment(3))? $this->uri->segment(3) : 0;
		$company_info["results"] = $this->db_model->get_company_lists($config["per_page"], $page);

		$company_info["links"] = $this->pagination->create_links();	
		return $company_info;
	}
public function ranking_setting()
	{				
		$ranking_val = array();		
		if(isset($_GET['page'])){
			var_dump($_GET['page']);
			return;
		}
		
		$company = $this->db_model->get_rankedcompany();
		foreach($company as $ent)
		{
			$ranking_val[] = $ent->ID;
		}		
				
		$company_info = $this->ranking_pagination();
		$per_page = 5;
		//var_dump($company_info["results"]);return;
		$this->load->view('admin/admin_header');
		$this->load->view('admin/ranking_setting', array('company_info'=>$company_info, 'ranking_val'=>$ranking_val, 'per_page'=>$per_page));
		$this->load->view('admin/admin_footer'); 	
	}

view code

<table class="projectList" style='width:99%;'>
                            <thead>
                                <tr>
                                    <!--th scope="col" style="width:4%;text-align:center;">No</th-->   
                                    <th scope="col" style="width:8%;text-align:center;">公司logo</th>            
                                    <th scope="col" style="width:13%;text-align:center;">公司名称</th>
                                    <th scope="col" style="width:18%;text-align:center;">公司地址</th>
                                    <th scope="col" style='text-align:center;'>关于我们</th>
                                    <th scope="col" style="width:7%;text-align:center;">公司电话</th>
                                    <th scope="col" style='text-align:center;'>公司email</th>
                                    <th scope="col" style="width:10%;text-align:center;">排名设置</th>
                                </tr>
                            </thead>
                            <tbody>
                            <?php
                            $ii = 0;
                            foreach($company_info["results"] as $entry)
                            {
                            ?>
                                <tr style='padding-bottom:10px;'>
                                    <!--td><?php echo ++$ii?></td-->   
                                    <td>
                                        <a href='<?php echo base_url().$entry->company_logo?>'>
                                        <img class='img-rounded' src="<?php echo base_url().$entry->company_logo?>" style='width:50px;height:50px'/>
                                        </a>
                                    </td>              
                                    <td style="text-align:center;"><?php echo $entry->company_name_cn;?></td>
                                    <td style="text-align:center;"><?php echo $entry->address_cn;?></td>
                                    <td style="text-align:center;"><?php echo $entry->expertise_cn;?></td>                            
                                    <td style="text-align:center;"><?php echo $entry->phone;?></td>
                                    <td style="text-align:center;"><?php echo $entry->email;?></td>
                                    <?php 
                                        $check_str = "ranking set";
                                        $btn_class = 'btn btn-primary';
                                        $set_flag = 1;
                                        foreach($ranking_val as $rank){
                                            
                                            if($entry->ID == $rank){
                                                $check_str = "ranking unset";
                                                $btn_class = 'btn btn-success';
                                                $set_flag = 0;
                                                break;
                                            }
                                        }
                                        ?>
                                        <td style='text-align:center;'><a href="<?php echo base_url();?>index.php/admin/ranking_process/<?php echo $entry->ID;?>/<?php echo $set_flag;?>" class='<?php echo $btn_class;?>' 
                                        value="<?php echo $entry->ID;?>"><?php echo $check_str;?></a></td>
                                </tr>
                            <?php
                            }
                            ?>
                            </tbody>
                        </table>

 

태그 php
 다음글 Cent OS 환경에서 CI 설치하고 web 접속시 S... (2)
 이전글 set_value에 대해서 문의 드립니다. (6)

댓글

변종원(웅파) / 2018/02/19 08:04:08 / 추천 0
2페이지 눌렀다고 7-14로 바뀌는게 아닙니다. 누른 페이지 번호를 중심으로 이동됩니다
kaido / 2018/02/19 09:21:02 / 추천 0

per_page 옵션은  밑에 숫자 1 2 3 4 5 를 눌렀을때 한번에 몇의 숫자가 올라가냐 입니다.

7로 해놓고 2를 누르면 위에 숫자가 14가 들어갈것 입니다.

2를 눌렀을때 2페이지가 나오게 하시려면 per_page 를 1로 설정 하셔야 합니다.

그리고 쿼리문에 limit 구절을 만들어 넣으셔야합니다.

http://cikorea.net/bbs/view/lecture?idx=7097&page=3&view_category=&lists_style=

 

이건 hmvc 하고 pageing 하고 같이 묶음 패키지 강좌영상

http://cikorea.net/bbs/view/lecture?idx=18097&page=1&view_category=&lists_style=

 

영상 확인 참고 하시면 도움이 되실것입니다 ^^