Rediriger l'utilisateur vers la dernière page de ma pagination
-
06-07-2019 - |
Question
Je sais que cela semble déroutant: Je viens de construire une pagination de base précédente / suivante pour mysql et je voulais savoir si la dernière page de mes lignes est .php? Page = 5 et que quelqu'un ajoute .php? Page = 263, alors je veux les rediriger vers .php ? page = 5
Toutes les idées sur la façon de procéder. L'information dont je dispose actuellement est le nombre de lignes renvoyées après LIMIT. Par conséquent, s'il s'agissait de .php? page = 263, la valeur serait 0. J'ai aussi le nombre total de lignes dans ma base de données ... la limite est 10:)
Merci d'avance!
La solution
Si vous avez déjà le nombre total de lignes et que vous savez combien de lignes vous allez afficher par page, vous pouvez calculer la dernière page comme suit:
$totalPages = ceil( $rows / $perPage );
Ensuite, limitez simplement la page en cours à une limite raisonnable:
$page = isset( Si vous avez déjà le nombre total de lignes et que vous savez combien de lignes vous allez afficher par page, vous pouvez calculer la dernière page comme suit:
$totalPages = ceil( $rows / $perPage );
Ensuite, limitez simplement la page en cours à une limite raisonnable:
<*>GET['page'] ) ? (int) Si vous avez déjà le nombre total de lignes et que vous savez combien de lignes vous allez afficher par page, vous pouvez calculer la dernière page comme suit:
$totalPages = ceil( $rows / $perPage );
Ensuite, limitez simplement la page en cours à une limite raisonnable:
<*>GET['page'] : 1;
$page = min( max( $page, 1 ), $totalPages );
Autres conseils
Le plus simple est de définir une forme de variable $ max_page_number
, puis de vérifier que la page entrée $ _GET ['page']
est inférieure au maximum. nombre possible, ou, si non, compenser cela et rediriger vers la dernière page:
$ max_page_number = 10; // ou quel que soit le nombre maximum / dernière page, $ 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
}
cela vaut également la peine de suggérer que vous devriez vérifier que les gens ne peuvent pas entrer index.php? page = -10
sans que cela soit pris, alors vous devriez vraiment vérifier les nombres inférieurs à la première page et supérieur à votre dernière page.