>데이터 베이스 >MySQL 튜토리얼 >PHP 및 MySQL 페이지 매김을 구현하는 방법은 무엇입니까?

PHP 및 MySQL 페이지 매김을 구현하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-06 16:58:161035검색

How to Implement PHP & MySQL Pagination?

PHP 및 MySQL 페이지 매김: 종합 가이드

페이지 매김은 대규모 데이터 세트를 관리 가능한 부분에 표시하는 데 사용되는 기술입니다. PHP 및 MySQL에서는 SQL 쿼리와 PHP 코드의 조합을 사용하여 페이지 매김을 구현할 수 있습니다.

제공한 MySQL 쿼리의 결과를 페이지 매기기하려면 다음 단계를 따르세요.

  1. 페이지당 결과 수 결정: 페이지당 10개의 결과를 표시한다고 가정해 보겠습니다. 이 값을 $perPage라는 변수에 저장합니다.
  2. 현재 페이지 번호 가져오기: $_GET['page'] 매개변수를 사용하여 현재 페이지 번호를 가져옵니다. 설정되지 않은 경우 기본값은 1입니다. 이 값을 $page라는 변수에 저장합니다.
  3. 시작 제한 계산: 현재 페이지의 시작 행을 결정하려면 $startAt = $perPage * 공식을 사용합니다. ($페이지 - 1). 결과 가져오기를 시작할 행 번호를 계산합니다.
  4. 총 페이지 수 가져오기: MySQL 쿼리를 실행하여 테이블의 총 행 수를 계산합니다. 이 수를 $perPage로 나누고 ceil()을 사용하여 반올림합니다. $totalPages라는 변수에 결과를 저장합니다.
  5. 페이지 매기기 링크 생성: 1부터 $totalPages까지 루프를 만듭니다. 각 페이지에 대해 적절한 페이지 번호가 포함된 링크를 생성하세요. isset($_GET['page']) 조건을 사용하여 현재 페이지를 강조표시합니다.
  6. 페이지 매김 쿼리 실행: 원래 MySQL 쿼리를 수정하여 $startAt 및 $perPage 값이 있는 LIMIT 절을 추가합니다. 그러면 현재 페이지에 대한 결과만 가져옵니다.
  7. 결과 및 페이지 매기기 링크 표시: 결과를 반복하고 원하는 대로 표시합니다. 사용자가 페이지를 탐색할 수 있도록 결과 아래 또는 위에 페이지 매기기 링크를 표시합니다.

다음은 위에서 설명한 페이지 매기기 단계를 구현하는 예제 코드입니다.

<?php
// MySQL connection code here

$perPage = 10;
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$startAt = $perPage * ($page - 1);

$query = "SELECT COUNT(*) as total FROM redirect
WHERE user_id = '".$_SESSION['user_id']."'";
$r = mysql_fetch_assoc(mysql_query($query));

$totalPages = ceil($r['total'] / $perPage);

$links = "";
for ($i = 1; $i <= $totalPages; $i++) {
    $links .= ($i != $page )
        ? "<a href='index.php?page=$i'>Page $i</a> "
        : "$page ";
}

$r = mysql_query($query);

$query = "SELECT * FROM 'redirect'
WHERE 'user_id'= \''.$_SESSION['user_id'].' \' 
ORDER BY 'timestamp' LIMIT $startAt, $perPage";

$r = mysql_query($query);

// Display results and pagination links here
echo $links; // Show links to other pages
?>

위 내용은 PHP 및 MySQL 페이지 매김을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.