Redirigir al usuario a la última página en mi paginación
-
06-07-2019 - |
Pregunta
Sé que esto suena confuso: Acabo de crear una paginación básica anterior / siguiente para mysql y quería saber si la última página de mis filas es .php? Page = 5 y alguien pone .php? Page = 263, entonces quiero redirigirlas a .php ? page = 5
Cualquier idea sobre cómo hacer esto ... la información que tengo actualmente es cuántas filas se devuelven después del LÍMITE, de modo que si fuera .php? page = 263, sería 0 También tengo el número total de filas en mi base de datos ... el LÍMITE es 10 :)
¡Gracias de antemano!
Solución
Si ya tiene el número total de filas y sabe cuántas filas se mostrarán por página, puede calcular la última página así:
$totalPages = ceil( $rows / $perPage );
Luego, simplemente restrinja la página actual a un límite razonable:
$page = isset( Si ya tiene el número total de filas y sabe cuántas filas se mostrarán por página, puede calcular la última página así:
$totalPages = ceil( $rows / $perPage );
Luego, simplemente restrinja la página actual a un límite razonable:
<*>GET['page'] ) ? (int) Si ya tiene el número total de filas y sabe cuántas filas se mostrarán por página, puede calcular la última página así:
$totalPages = ceil( $rows / $perPage );
Luego, simplemente restrinja la página actual a un límite razonable:
<*>GET['page'] : 1;
$page = min( max( $page, 1 ), $totalPages );
Otros consejos
Lo más fácil es definir alguna forma de variable $ max_page_number
, luego verificar que la página ingresada $ _GET ['page']
sea menor que el máximo número posible o, si no, compensar eso y redirigir a la última página:
$ max_page_number = 10; // o cualquiera que sea el máximo / último número de página es, $ page_requested = $ _GET ['página'];
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
}
también vale la pena sugerir que debería verificar que las personas no puedan ingresar index.php? page = -10
sin que se detecte, por lo que realmente debería verificar los números menos que la primera página y mayor que su última página.