> 백엔드 개발 > PHP 튜토리얼 > MySQL에서 페이지 매김을 구현하는 방법: LIMIT 및 OFFSET을 사용한 종합 가이드?

MySQL에서 페이지 매김을 구현하는 방법: LIMIT 및 OFFSET을 사용한 종합 가이드?

DDD
풀어 주다: 2024-11-14 20:11:02
원래의
941명이 탐색했습니다.

How to Implement Pagination in MySQL: A Comprehensive Guide Using LIMIT and OFFSET?

MySQL LIMIT 및 OFFSET을 사용한 페이지 매김: 종합 가이드

페이지 매김은 웹 페이지에서 관리 가능한 덩어리로 데이터를 표시하는 데 사용되는 중요한 기술입니다. 이러한 맥락에서 MySQL의 LIMIT 및 OFFSET 연산자는 페이지 매김을 달성하는 데 중요한 역할을 합니다. 이 문서에서는 실제 예와 함께 이러한 연산자를 사용한 페이지 매김에 대한 자세한 설명을 제공합니다.

20-30개의 메뉴 항목이 포함된 menuitem이라는 테이블이 있는 시나리오를 생각해 보세요. 목표는 이러한 항목을 페이지당 4개의 항목으로 페이지를 매긴 방식으로 표시하는 것입니다. 이를 달성하려면 처음에 다음 코드를 사용하여 첫 번째 페이지를 표시합니다.

$result = mysqli_query($con,"SELECT * FROM menuitem LIMIT 4");
로그인 후 복사

이 쿼리는 처음 4개 항목을 표시합니다. 그러나 추가 페이지를 처리하려면 사용 가능한 페이지 수를 동적으로 결정하는 메커니즘이 필요합니다. 이는 테이블의 총 행 수를 계산하여 얻을 수 있습니다.

$sql = "SELECT your_primary_key_field FROM menuitem";
$result = mysqli_query($con, $sql);
$row_count = mysqli_num_rows($result);
로그인 후 복사

다음으로, 총 행 수와 페이지당 항목 수를 기준으로 페이지 수를 계산합니다.

$page_count = 0;
if (0 === $row_count) {  
    // Handle the case where the table is empty
} else {
   $page_count = (int)ceil($row_count / $items_per_page);
}
로그인 후 복사

페이지 간을 이동하려면 페이지와 같은 URL 매개변수를 사용할 수 있습니다. 예를 들어, http://yoursite.com/itempage.php?page=2 URL은 두 번째 페이지를 표시합니다. 이 요청을 처리하려면 다음과 같이 SQL 쿼리를 수정하면 됩니다.

// determine page number from $_GET
$page = 1;
if(!empty($_GET['page'])) {
    $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT);
    if(false === $page) {
        $page = 1;
    }
}
// set the number of items to display per page
$items_per_page = 4;

// build query
$offset = ($page - 1) * $items_per_page;
$sql = "SELECT * FROM menuitem LIMIT " . $offset . "," . $items_per_page;
로그인 후 복사

이 쿼리는 요청된 페이지 번호를 기준으로 오프셋을 동적으로 계산하므로 적절한 결과 페이지를 표시할 수 있습니다.

페이지 매김 링크를 표시하려면 루프를 사용하여 사용 가능한 모든 페이지에 대한 링크를 생성할 수 있습니다.

for ($i = 1; $i <= $page_count; $i++) {
   if ($i === $page) { 
       echo 'Page ' . $i . '<br>';
   } else {
       echo '<a href=&quot;/menuitem.php?page=' . $i . '&quot;>Page ' . $i . '</a><br>';
   }
}
로그인 후 복사

이 단계를 따르면 MySQL LIMIT 및 OFFSET을 사용하여 페이지 매김을 효과적으로 구현할 수 있으며 사용자에게 다음을 제공합니다. 대규모 데이터 세트를 구조화된 방식으로 표시하는 친절하고 효율적인 방법입니다.

위 내용은 MySQL에서 페이지 매김을 구현하는 방법: LIMIT 및 OFFSET을 사용한 종합 가이드?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿