내 페이지 매김의 마지막 페이지로 사용자를 리디렉션하십시오
-
06-07-2019 - |
문제
나는 이것이 혼란스러워 들린다는 것을 알고있다 : 나는 단지 MySQL에 대한 기본 이전/다음 페이지 화를 만들었고, 나의 행의 마지막 페이지가 .php? page = 5이고 누군가가 .php? page = 263을 넣는다면 알고 싶었다. .php? page = 5로 리디렉션합니다
이 작업을 수행하는 방법에 대한 아이디어. 현재 가지고있는 정보는 한계 이후에 얼마나 많은 행이 반환되는지. ... 한도는 10입니다 :)
미리 감사드립니다 !!
해결책
이미 총 행 수가 있고 페이지 당 표시 될 행 수를 알고 있다면 마지막 페이지를 다음과 같이 계산할 수 있습니다.
$totalPages = ceil( $rows / $perPage );
그런 다음 현재 페이지를 합리적인 한도로 제한합니다.
$page = isset( $_GET['page'] ) ? (int) $_GET['page'] : 1;
$page = min( max( $page, 1 ), $totalPages );
다른 팁
가장 쉬운 일은 어떤 형태의 형태를 정의하는 것입니다. $max_page_number
변수, 페이지가 입력되었는지 확인하십시오 $_GET['page']
가능한 최대 숫자보다 작거나 그렇지 않은 경우이를 보상하고 마지막 페이지로 리디렉션합니다.
$ max_page_number = 10; // 또는 최대/마지막 페이지 번호가 무엇이든, $ page_requested = $ _get [ 'page'];
if ($page_requested <= $max_page_number) {
// show the page requested by the user
}
elseif ($page_requested > $max_page_number) {
// redirect to the relevant page
}
else {
// redirect to the splash page, or first page
}
또한 사람들이 입장 할 수 없다는 점을 확인해야한다고 제안 할 가치가 있습니다. index.php?page=-10
잡히지 않으면 숫자를 확인해야합니다. 보다 적습니다 첫 페이지와 ~보다 큰 마지막 페이지.
제휴하지 않습니다 StackOverflow