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!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top