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!

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top