현재 위치: > 최신 기사 목록> PHP의 CEIL () 함수를 사용하여 Count ()를 결합하여 간단하고 실용적인 페이징 로직을 구현하는 방법은 무엇입니까?

PHP의 CEIL () 함수를 사용하여 Count ()를 결합하여 간단하고 실용적인 페이징 로직을 구현하는 방법은 무엇입니까?

M66 2025-06-12

Pagination은 웹 사이트를 개발하는 과정에서 매우 일반적인 기능입니다. 기사 목록, 제품 목록 또는 댓글 데이터를 표시하든 페이징은 사용자 경험을 효과적으로 향상시키고 서버 성능에 대한 한 번에 과도한 콘텐츠로드의 영향을 피할 수 있습니다. 이 기사는 PHP를 사용하여 CEIL () 함수 및 count ()를 사용하여 간단하고 실용적인 페이징 로직을 구현하는 방법을 설명합니다.

페이징의 기본 개념을 이해하십시오

Pagination의 핵심 아이디어는 많은 수의 데이터를 여러 "페이지"로 나누는 것이며 각 페이지는 데이터의 일부만 표시됩니다. 예를 들어, 100 개의 레코드가 있고 페이지 당 10 개가 표시되면 10 페이지가 필요합니다.

페이징을 구현하려면 다음과 같은 주요 변수가 필요합니다.

  • 총 레코드 : count () 함수를 사용하여 얻습니다.

  • 페이지 당 표시되는 레코드 수 : 요청 매개 변수에서 상수로 고정되거나 검색 될 수 있습니다.

  • 현재 페이지 번호 : 일반적으로 $ _get [ 'Page'] 와 같은 GET 요청에서 얻은 것입니다.

  • 총 페이지 수 : 총 레코드 수를 페이지 당 레코드 수로 나누고 Ceil () 로 반올림합니다.

샘플 코드 구현

배열에 저장된 기사 데이터 세트가 있다고 가정합니다.

 <?php
$articles = [
    '기사 1',
    '기사 2',
    '기사 3',
    '기사 4',
    '기사 5',
    '기사 6',
    '기사 7',
    '기사 8',
    '기사 9',
    '기사 10',
    '기사 11',
    '기사 12'
];

$perPage = 5; // 페이지 당 표시됩니다 5 조각
$totalItems = count($articles); // 총 기록
$totalPages = ceil($totalItems / $perPage); // 총 페이지 수

$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$page = max(1, min($page, $totalPages)); // 페이지 번호가 합리적인 범위 내에 있는지 확인

$offset = ($page - 1) * $perPage; // 현재 페이지의 시작 데이터 위치
$currentItems = array_slice($articles, $offset, $perPage);

foreach ($currentItems as $item) {
    echo "<p>$item</p>";
}
?>

페이지 매김 링크 생성

사용자가 클릭하여 다른 페이지로 이동하려면 페이징 내비게이션 링크를 생성해야합니다. 예는 다음과 같습니다.

 <?php
echo '<div class="pagination">';
for ($i = 1; $i <= $totalPages; $i++) {
    if ($i == $page) {
        echo "<strong>$i</strong> ";
    } else {
        echo "<a href=\"https://m66.net/list.php?page=$i\">$i</a> ";
    }
}
echo '</div>';
?>

이러한 방식으로 사용자가 링크를 클릭하면 다른 페이지 번호로 점프 할 수 있으며 프로그램은 페이지 번호에 따라 해당 데이터 컨텐츠를 표시합니다.

요약

Count () 에 의해 총 데이터 볼륨을 얻은 다음 Ceil ()을 사용하여 총 페이지 수를 계산하면 간단하고 실용적인 페이징 로직을 구현할 수 있습니다. PHP는 array_slice () 와 사용자가 전달하는 페이지 번호 매개 변수를 사용하여 페이징 작업을 효율적으로 처리 할 수 ​​있습니다.

이 방법은 중소형 데이터 페이지 매김 디스플레이에 적합합니다. 대규모 데이터의 경우 데이터베이스 수준에서 데이터베이스 레벨 제한 페이지 매김을 최적화하는 것이 좋습니다. 그러나 어느 쪽이든, Ceil ()count () 의 조합을 이해하는 것이 페이지 매김 마스터의 첫 번째 단계입니다.