Paging 검색된 Database 레코드를 Paging 구성하는 방법을 안내합니다.

확인해 주세요

Paging은 Database Method에 귀속되어 작동됩니다.

사용 준비

Paging을 사용하기 위해선 아래와 같이 Controller 최상단에 use 가 선언 되어야 합니다.
Paging은 Database에 귀속되어 작동되기 때문에 use Make\Database\Pdosql 가 함께 선언 되어야 합니다.
Controller /app/test.php
<?php
use Make\Database\Pdosql;
use Make\Library\Paging;
Paging Query를 수행하기 위해 새로운 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
<?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
        )
    )
);
위와 같이 query 할 수 있으며, 구문에서 :col1, :col2 와 같이 칼럼을 bind 할 수 있습니다.

Paging Limit 설정

Database 에서 select된 레코드를 한 페이지에 최대 몇개의 레코드로 분리하여 보여줄 것인지 설정합니다.
설정한 최대 개수만큼 레코드를 분리하여 하단 페이징을 표현합니다.

limit 은 Query문 상위에 배치 합니다.
Controller /app/test.php
<?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
        )
    )
);
위 예제는 config.set.php 에서 설정한 환경설정 기준으로 limit 개수를 자동 설정합니다.
만약, 임의로 limit 개수를 설정하려는 경우, 아래 예시와 같이 변경하여 설정합니다.
$paging->setlimit(20);

Fetch 및 레코드 색인

Paging Query 에서의 Fetch 및 레코드 색인 방법은 Database 기본 구문과 동일합니다.
사용 방법은 아래 연관 사이드 바로가기를 확인하세요.

View 에 페이지 Navigator 삽입

Paging 이 적용된 웹페이지 하단에 Navigator를 삽입하여 접속자가 페이지를 전환하여 레코드를 확인할 수 있도록 구성합니다.
View에서 Navigator를 출력할 수 있도록 Controller에서 관련 변수를 전달 합니다.
Controller /app/test.php
<?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에서 Navigator 출력을 원하는 위치에 아래 코드를 삽입합니다.
View /theme/zigger-default/html/test.tpl.php
<div class="paging">
    <?php echo $pagingprint; ?>
</div>