Reindirizza l'utente all'ultima pagina della mia impaginazione
-
06-07-2019 - |
Domanda
So che sembra confuso: Ho appena creato una paginazione precedente / successiva di base per mysql e volevo sapere se l'ultima pagina delle mie righe è .php? Page = 5 e qualcuno mette .php? Page = 263, quindi voglio reindirizzarli a .php ? page = 5
Qualche idea su come farlo .. le informazioni che ho attualmente sono, quante righe vengono restituite dopo il LIMIT, quindi se fosse .php? page = 263 allora sarebbe 0 Ho anche il numero totale di righe nel mio database ... il LIMIT è 10 :)
Grazie in anticipo !!
Soluzione
Se hai già il numero totale di righe e sai quante righe visualizzerai per pagina, puoi calcolare l'ultima pagina in questo modo:
$totalPages = ceil( $rows / $perPage );
Quindi, limita semplicemente la pagina corrente a un limite ragionevole:
$page = isset( Se hai già il numero totale di righe e sai quante righe visualizzerai per pagina, puoi calcolare l'ultima pagina in questo modo:
$totalPages = ceil( $rows / $perPage );
Quindi, limita semplicemente la pagina corrente a un limite ragionevole:
<*>GET['page'] ) ? (int) Se hai già il numero totale di righe e sai quante righe visualizzerai per pagina, puoi calcolare l'ultima pagina in questo modo:
$totalPages = ceil( $rows / $perPage );
Quindi, limita semplicemente la pagina corrente a un limite ragionevole:
<*>GET['page'] : 1;
$page = min( max( $page, 1 ), $totalPages );
Altri suggerimenti
La cosa più semplice da fare è definire una forma di variabile $ max_page_number
, quindi verificare che la pagina immessa $ _GET ['page']
sia inferiore al massimo numero possibile o, in caso contrario, compensarlo e reindirizzare all'ultima pagina:
$ max_page_number = 10; // o qualunque sia il numero massimo / ultimo della pagina, $ 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
}
vale anche la pena suggerire che dovresti controllare che le persone non possano entrare in index.php? page = -10
senza essere scoperte, quindi dovresti davvero controllare i numeri meno di la prima pagina e maggiore di la tua ultima pagina.