현재 위치: > 최신 기사 목록> PHP 테이블의 데이터 정렬 및 페이징 구현에 대한 튜토리얼

PHP 테이블의 데이터 정렬 및 페이징 구현에 대한 튜토리얼

M66 2025-09-17

PHP 테이블 분류 및 페이지 매김의 개요

웹 개발에서 많은 양의 데이터를 처리하고 제시하는 것이 일반적인 작업입니다. 더 나은 사용자 경험을 제공하고 시스템 성능을 향상시키기 위해서는 일반적으로 테이블에서 데이터 분류 및 페이징 기능이 필요합니다. 이 기사는 PHP를 사용하여 이러한 기능을 구현하는 방법을 자세히 설명하고 완전한 샘플 코드를 포함합니다.

테이블 분류 기능 구현

분류 기능을 구현하면 사용자가 다른 필드에 따라 오름차순 또는 내림차순 순서를 정렬 할 수 있습니다. 다음은 샘플 코드입니다.

<?php
// 정렬 필드와 정렬을 얻습니다
$sortField = isset($_GET['sort']) ? $_GET['sort'] : 'id';
$sortOrder = isset($_GET['order']) && $_GET['order'] == 'desc' ? 'desc' : 'asc';

// 정렬 필드 및 정렬 방법에 따라 데이터를 정렬하십시오.
usort($data, function($a, $b) use ($sortField, $sortOrder) {
    if ($a[$sortField] == $b[$sortField]) {
        return 0;
    }
    if ($sortOrder == 'asc') {
        return ($a[$sortField] < $b[$sortField]) ? -1 : 1;
    } else {
        return ($a[$sortField] > $ B [$ Sortfield])? -1 : 1;
    }
});

// 디스플레이 형태 echo &#39;<table> &#39;;;
foreach ($ data as $ row) {
    에코 &#39;<tr> &#39;;;
    에코 &#39;<td> &#39;. $ 행 [ &#39;ID&#39;]. &#39;</td> &#39;;;
    에코 &#39;<td> &#39;. $ 행 [ &#39;이름&#39;]. &#39;</td> &#39;;;
    에코 &#39;<td> &#39;. $ 행 [ &#39;Age&#39;]. &#39;</td> &#39;;;
    에코 &#39;</tr> &#39;;;
}
에코 &#39;</table> &#39;;;
?>

위의 예에서는 usort () 함수가 데이터를 정렬하는 데 사용됩니다. 콜백 함수에서 배열 요소는 사용자가 선택한 필드 및 정렬 방법에 따라 비교됩니다. 정렬이 완료되면 루핑으로 데이터가 테이블로 렌더링됩니다.

테이블 페이징 기능 구현

많은 양의 데이터의 경우, 주문시 데이터를로드하고 페이지 성능을 향상시키기 위해서는 페이징 기능도 필요합니다. 페이징을 구현하는 예제 코드는 다음과 같습니다.

<?php
// 현재 페이지 번호와 페이지 당 표시되는 데이터 금액을 가져옵니다.
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$perPage = 10;

// 현재 페이지 번호를 기반으로 데이터 범위를 계산합니다.
$start = ($page - 1) * $perPage;
$end = $start + $perPage;
$dataToShow = array_slice($data, $start, $perPage);

// 디스플레이 양식
echo '<table> &#39;;;
foreach ($ datatoshow as $ row) {
    에코 &#39;<tr> &#39;;;
    에코 &#39;<td> &#39;. $ 행 [ &#39;ID&#39;]. &#39;</td> &#39;;;
    에코 &#39;<td> &#39;. $ 행 [ &#39;이름&#39;]. &#39;</td> &#39;;;
    에코 &#39;<td> &#39;. $ 행 [ &#39;Age&#39;]. &#39;</td> &#39;;;
    에코 &#39;</tr> &#39;;;
}
에코 &#39;</table> &#39;;;

// 페이징 링크 표시 $ totalpages = ceil (count ($ data) / $ perpage);
for ($ i = 1; $ i <= $ totalpages; $ i ++) {
    에코 &#39; <a href="?page=' . $i . '">&#39;. $ i. &#39;</a> &#39;;;
}
?>

Pagination 구현에서 데이터 범위는 현재 페이지 번호와 페이지 당 데이터 금액에 의해 계산 된 다음, 표시 할 데이터는 Array_Slice ()를 사용하여 추출됩니다. 마지막으로 페이징 링크가 생성되어 사용자가 필요한 페이지로 빠르게 이동할 수 있습니다.

요약

이 기사는 PHP를 사용하여 테이블 데이터의 정렬 및 페이징 기능을 구현하는 방법을 소개합니다. 이러한 기능을 통해 개발자는 많은 양의 데이터를 효율적으로 관리하고 표시하고 사용자 경험을 향상시킬 수 있습니다. 샘플 코드는 실제 요구에 따라 조정 및 최적화 될 수 있으며 다양한 데이터 표시 시나리오에 적합합니다.