Paging 검색된 Database 레코드를 Paging 구성하는 방법을 안내합니다.
             확인해 주세요
            
        Paging은 Database Method에 귀속되어 작동됩니다.
사용 준비
Paging을 사용하기 위해선 아래와 같이 Controller 최상단에 use 가 선언 되어야 합니다.Paging은 Database에 귀속되어 작동되기 때문에 use Make\Database\Pdosql 가 함께 선언 되어야 합니다.
    Controller
    /app/test.php
        
            Paging Query를 수행하기 위해 새로운 Paging 인스턴스를 생성합니다.
        
<?php use Make\Database\Pdosql; use Make\Library\Paging;
    Controller
    /app/test.php
        <?php use Make\Database\Pdosql; use Make\Library\Paging; ... $sql = new Pdosql(); $paging = new Paging();
Paging Query 실행
Paging 이 적용된 Query를 실행합니다.
    Controller
    /app/test.php
        
            위와 같이 query 할 수 있으며, 구문에서 :col1, :col2 와 같이 칼럼을 bind 할 수 있습니다.
        
        
<?php
use Make\Database\Pdosql;
use Make\Library\Paging;
...
$sql = new Pdosql();
$sql->query(
    $paging->query(
        "
        SELECT mb_idx, point_in
        FROM {$sql->table("mbpoint")}
        WHERE mb_idx=:col1
        ORDER BY regdate DESC
        ",
        array(
            MB_IDX
        )
    )
);
속도가 개선된 Paging Query 실행
메소드가 전달된 쿼리문을 'SELECT COUNT(*)' 로 변조하여 발견된 데이터의 전체 개수를 빠르게 계산할 수 있도록 옵션이 제공됩니다.데이터가 많은 table을 Paging 처리 하는 경우 아래와 같이 네번째 인자($getQuery)를 비활성화 하여 속도를 소폭 향상시킬 수 있습니다.
(GROUP BY, HAVING 이 적용된 쿼리의 경우 오류가 발생할 수 있으므로 사용시 주의가 필요합니다.)
    Controller
    /app/test.php
        
<?php
use Make\Database\Pdosql;
use Make\Library\Paging;
...
$sql = new Pdosql();
$sql->query(
    $paging->query(
        "
        SELECT mb_idx, point_in
        FROM {$sql->table("mbpoint")}
        WHERE mb_idx=:col1
        ORDER BY regdate DESC
        ",
        array(
            MB_IDX
        ),
        $dspError = true, // error display 여부
        $getQuery = false // having 구문으로 인해 쿼리 오류 발생하는 경우 getQuery 옵션 활성화
    )
);
Paging Limit 설정
Database 에서 select된 레코드를 한 페이지에 최대 몇개의 레코드로 분리하여 보여줄 것인지 설정합니다.설정한 최대 개수만큼 레코드를 분리하여 하단 페이징을 표현합니다.
limit 은 Query문 상위에 배치 합니다.
Controller
/app/test.php
        
            위 예제는 config.set.php 에서 설정한 환경설정 기준으로 limit 개수를 자동 설정합니다. 
<?php
use Make\Database\Pdosql;
use Make\Library\Paging;
...
$sql = new Pdosql();
$paging->setlimit(SET_LIST_LIMIT);
$sql->query(
    $paging->query(
        "
        SELECT *
        FROM {$sql->table("mbpoint")}
        WHERE mb_idx=:col1
        ORDER BY regdate DESC
        ",
        array(
            MB_IDX
        )
    )
);
만약, 임의로 limit 개수를 설정하려는 경우, 아래 예시와 같이 변경하여 설정합니다.
$paging->setlimit(20);
Fetch 및 레코드 색인
Paging Query 에서의 Fetch 및 레코드 색인 방법은 Database 기본 구문과 동일합니다.사용 방법은 아래 연관 가이드 바로가기를 확인하세요.
View 에 페이지 Navigator 삽입
Paging 이 적용된 웹페이지 하단에 Navigator를 삽입하여 접속자가 페이지를 전환하여 레코드를 확인할 수 있도록 구성합니다.View에서 Navigator를 출력할 수 있도록 Controller에서 관련 변수를 전달 합니다.
    Controller
    /app/test.php
        
            그런 다음, View에서 Navigator 출력을 원하는 위치에 아래 코드를 삽입합니다.
        
<?php
use Make\Database\Pdosql;
use Make\Library\Paging;
...
$sql = new Pdosql();
$sql->query(
    $paging->query(
        "
        SELECT *
        FROM {$sql->table("mbpoint")}
        WHERE mb_idx=:col1
        ORDER BY regdate DESC
        ",
        array(
            MB_IDX
        )
    )
);
$this->set('pagingprint', $paging->pagingprint(''));
    View
    /theme/zigger-default/html/test.tpl.php
        
<div class="paging">
    <?php echo $pagingprint; ?>
</div>
            연관 가이드 바로가기
            Database 기본 구문 살펴보기
        
    