ページネーションの最後のページにユーザーをリダイレクトする

StackOverflow https://stackoverflow.com/questions/1619353

  •  06-07-2019
  •  | 
  •  

質問

これは紛らわしいと思います: 私はmysqlの基本的な前/次のページネーションを構築しましたが、行の最後のページが.php?page = 5で、誰かが.php?page = 263を入れてから.phpにリダイレクトしたい場合、知りたいと思いました?page = 5

これを行う方法に関するアイデア..現在持っている情報は、LIMITの後に返される行の数です。 データベース内の行の合計数もあります... LIMITは10です:)

事前に感謝!!

役に立ちましたか?

解決

すでに行の合計数があり、ページごとに表示する行数がわかっている場合は、次のように最後のページを計算できます。

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

次に、現在のページを適切な制限に制限します。

$page = isset( 

すでに行の合計数があり、ページごとに表示する行数がわかっている場合は、次のように最後のページを計算できます。

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

次に、現在のページを適切な制限に制限します。

<*>GET['page'] ) ? (int)

すでに行の合計数があり、ページごとに表示する行数がわかっている場合は、次のように最後のページを計算できます。

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

次に、現在のページを適切な制限に制限します。

<*>GET['page'] : 1; $page = min( max( $page, 1 ), $totalPages );

他のヒント

最も簡単な方法は、何らかの形式の $ max_page_number 変数を定義し、入力されたページが $ _ GET ['page'] が最大値よりも小さいことを確認することです可能な数、またはそうでない場合はそれを補正して最後のページにリダイレクトします:

$ max_page_number = 10; //または最大/最後のページ番号が何であれ、 $ 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

}

人々がキャッチされない限り index.php?page = -10 を入力できないことを確認する必要があることを示唆する価値があるため、未満の数字を実際に確認する必要があります em>最初のページと最後のページよりも

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top