Redirecionar o usuário a última página no meu pagination

votos
0

Sei que isto soa confuso:? Acabo construiu alguns anterior / seguinte pagination básica para mysql e eu queria saber, se a última página de minhas linhas é .php page = 5 e alguém coloca .php page = 263, então eu quero? para redirecioná-las para .php? page = 5

Todas as ideias sobre como fazer isso .. a informação que eu tenho atualmente é, quantas linhas são retornadas após o limite para que se fosse .php? Page = 263, então seria 0 Eu também tenho o número total de linhas no meu banco de dados ... o limite é de 10 :)

Desde já, obrigado!!

Publicado 24/10/2009 em 23:26
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Se você já tem o número total de linhas, e você sabe quantas linhas você vai estar exibindo por página, então você pode calcular a última página da seguinte forma:

$totalPages = ceil( $rows / $perPage );

Em seguida, basta restringir a página atual a um limite razoável:

$page = isset( $_GET['page'] ) ? (int) $_GET['page'] : 1;
$page = min( max( $page, 1 ), $totalPages );
Respondeu 24/10/2009 em 23:35
fonte usuário

votos
0

A melhor coisa a fazer é definir algum tipo de $max_page_numbervariável, em seguida, verifique se a página introduzido $_GET['page']é menor que o número máximo possível, ou, se não, compensar isso e redirecionar para a última página:

$ Max_page_number = 10; // ou qualquer que seja o último número máximo / página é, $ 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

}

também vale a pena sugerindo que você deve verificar as pessoas não podem entrar index.php?page=-10sem ele ser capturado, para que você realmente deve verificar para números menos do que a primeira página e maior do que a sua última página.

Respondeu 24/10/2009 em 23:36
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more