PHP 페이지 매김
이 기사에서는SQL
에서SELECT
문과 함께LIMIT
절을 사용하여 PHP에서 페이지 매김을 수행하는 방법을 소개합니다. LIMIT
절을 사용하여 특정 인덱스에서 시작하여 페이지 매김으로 표시 할 특정 행 수를 선택합니다.
또한 PHP 페이지 매김에Previous
및Next
탐색 기능을 추가하는 또 다른 방법을 보여줍니다. 이 방법은 첫 번째 방법에 해당 페이지를 탐색하는 추가 기능 만 추가합니다.
SQL
에서SELECT
문과 함께LIMIT
절을 사용하여 PHP에서 행 페이지 매김
SELECT
문과 함께LIMIT
절을 사용하여 페이지에 표시 할 처음 n 개의 결과를 지정할 수 있습니다. 페이지를 탐색하기 위해GET
메소드로anchor
태그에 페이지 번호를 제공 할 수 있습니다. 이 방법에서는 페이지 당 표시 할 행 수를 정의하고 데이터베이스에서 모든 행을 검색하여 필요한 총 페이지 수를 계산합니다. 사용자가 요청한 페이지 번호를 얻기 위해isset()
함수와 함께$_GET
배열을 사용할 수 있습니다.
예를 들어,$results_per_page
변수를 만들고 여기에2
를 저장합니다. mysqli_num_rows()
함수를 사용하여 데이터베이스의 행 수를 찾아$number_of_results
변수에 저장합니다. ceil()
함수를 사용하여 행을 표시하는 데 필요한 총 페이지 수를 결정합니다. ceil()
함수 내에서$number_of_results
변수를$results_per_page
변수로 나눕니다. page
변수가 설정되었는지 확인하려면isset()
함수와 함께$_GET
슈퍼 글로벌 변수를 사용합니다. 설정되지 않은 경우page
변수를1
로 설정합니다. 변수가 설정된 경우page
변수에 값을 할당합니다. page
변수에1
을 빼고$this_page_first_result
변수를 곱합니다. 변수$this_page_first_result
에 작업을 저장합니다. LIMIT
절이있는SQL
문을SELECT * FROM alpha LIMIT '로 작성합니다. $ this_page_first_result. ','. $ results_per_page.
쿼리를 실행하고 결과를 표시합니다. 마지막으로page
변수와$number_of_page
사이를 반복하는for-loop
를 만듭니다. 루프 내에서anchor
태그를echo
하고href
속성 값을index.php?page'.$page
로 씁니다. anchor
태그 사이에page
변수를 작성합니다.
아래 예에서 데이터베이스의alpha
테이블에는 6 개의 행이 있습니다. 페이지 매김을 수행하면 페이지 당 두 행이 표시됩니다. ceil()
함수는 행을 표시하는 데 필요한 총 페이지 수를 결정합니다. 처음에는$page
변수가 설정되지 않았으므로 페이지는 1 페이지부터 시작됩니다.$this_page_first_result
변수는 사용자가 현재있는 페이지 번호를 결정합니다. $this_page_first_result
변수는 페이지의 첫 번째 행을 나타냅니다. $results_per_page
변수는 페이지 당 결과 수를 나타냅니다. 출력 섹션은index.php
페이지를 표시합니다. 2
페이지를 클릭하면 데이터베이스에서 다음 두 행을 출력합니다.
예제 코드 :
#php 7.x
<?php
$number_of_pages = ceil($number_of_results/$results_per_page);
if (!isset($_GET['page'])) {
$page = 1;
} else {
$page = $_GET['page'];
}
$this_page_first_result = ($page-1)*$results_per_page;
$sql='SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page;
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)) {
echo $row['id'] . ' ' . $row['value']. '<br>';
}
for ($page=1;$page<=$number_of_pages;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
?>
출력:
1 A
2 B
1 2 3
PHP의 페이지 매김에Previous
및Next
탐색 기능 추가
페이지 매김에서Previous
및Next
탐색 기능을 제공하기 위해 첫 번째 메소드의 코드 예제에 몇 가지 추가 코드 스 니펫을 추가 할 수 있습니다. $page
변수를 1 씩 증가 및 감소시켜 이전 및 다음 페이지를 가리킬 수 있습니다. anchor
태그에서 증가 및 감소 된 변수를 사용하여Next
및Previous
기능을 사용할 수 있습니다.
예를 들어,$prev
및$next
라는 두 개의 변수를 만듭니다. $page
변수를 하나로 빼고$prev
변수에 연산을 할당합니다. 마찬가지로$page
변수에 하나를 추가하고$next
변수에 할당합니다. 페이지 번호의for
루프 바로 앞에Previous
이라는anchor
태그를 에코합니다. ‘anchor’ 태그의 ‘href’ 속성에 값 index.php?page=' . $prev .
을 할당합니다. 같은 방법으로href
속성의page
값으로$next
변수를 사용하여Next
에 대한 또 다른anchor
태그를 만듭니다.
아래 출력 섹션에서는 두 번째 페이지를 보여줍니다. Previous
을 클릭하면 첫 번째 페이지로 이동하고Next
을 클릭하면 세 번째 페이지로 이동합니다.
예제 코드 :
# php 7.x
<?php
$prev = $page -1;
$next = $page +1;
echo ' <a href="index.php?page=' . $prev . '"> Previous </a> ';
for ($page=1;$page<=$number_of_pages;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
echo ' <a href="index.php?page=' . $next . '"> Next </a> ';
?>
출력:
3 C
4 D
Previous 1 2 3 Next
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn