phpのページングは難しくない!シンプルに覚えるサンプル付き解説

つぶらや
書いた人 つぶらや
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!独学プログラマー&ライターのつぶらやです。

ページングってなんなの?
別名はページネーション
日本語では、ページ割だそうです。

よくWebページで見るページ番号、次へ、前へボタンなどがその機能です。

一覧表示で、沢山情報がある場合に分割して表示させる機能です。

なぜ分割させるのかといいますと、

・表示時間を短くさせる
・1ページの情報量を減らして見やすくさせる

などの効果があります。

ページングの概要がわかったところで次の疑問が浮かびませんか。

どうやって作られているのだろう。
本日はこのページングの作り方についてお話していきます。

ページングの仕組み

以下のようなデータがあったとします。

本種類 本の名前
ライトノベル ライトノベルの本
歴史 歴史の本
料理 料理の本
啓発本 啓発の本
コミック コミックの本
推理小説 推理小説の本
フォトブック フォトブックの本

そして、以下のようにページングを表示させてみました。

【図の説明】
①7件中3件ずつ表示されています。
②現在表示中のページで、リンクはついていません。
③2ページ目と3ページ目のリンクです。

次に、上記を作成するために必要なものを説明していきます。

1ページの記事の表示数

1ページに記事を何個表示するかという事です。

今回の場合、3となります。

トータルデータ件数

表示するデータが全部で何件あるのかという事です。

今回の場合は7件です。

トータルページ数

ページの数は何ページになるのかという事です。

今回の場合は、3ページです。

現在のページ番号

今表示しているページ番号は何ページ目になるのかという事です。

今回の場合は、1ページ目です。

最低限この4つがあればよいです。

この4つをどのように使用するのか説明します。

ページングで必要な事は、データの表示(図の①)とページへのリンク(図の②と③)作成です。

データの表示は、全データの何件目から何件目を取得すればよいかがわかればいいのです。

全データ7件(トータルデータ件数)で2ページ目を表示の場合、3件(記事の表示数)ずつ表示の2ページ目なので4件目~6件目のデータを取得するという事が分かるのです。

ページのリンクは、トータルページ数分作ればよいです。

図の例の場合全3ページなので、1、2、3とページのリンクが出来ます。

ただし、現在のページである1にはリンクは貼られていません。

ページングの仕組み、なんとなくわかって頂けたでしょうか。

ページングの基本編

それでは、基本編として実際のコードをサンプルで書いてみたいと思います。

前項目のデータ例を元にtest.phpを作成します。

ポイントは現在のページを$_GET[‘page_id’]で取得する部分です。

上記のようにURLに渡します。

そしてプログラム内では、$_GET[‘page_id’]で1という値を取得できます。

基本編は以上です。

ページングの応用編

応用として、次へ、前への表示と件数表示を行ってみます。

以下のようなイメージです。

全データ数が表示されています。
前へ、次へボタンが表示されています。

それでは前項で使用したtest.phpを修正していきます。

ポイントとしては次へや前へは、表示しているページによってリンクをつけるかの判定が必要になります。

前へを押して、1ページより前に移動することはできません

応用編まで理解できたら、もうページングは怖くありませんね!

mysqlなどのデータベースでページング

最後にデータベースからのデータを使用する場合のページング方法についてお話しします。

今回はデータの配列を使用しましたが、mysql等のデータベースでsqlを発行してデータを取得する場合も考え方は同じです。

何件目からはoffsetを使用し、何件取ってくるかはlimitを使用します。

mysqlの接続方法は以下を参考にしてください。

まずは、データベースを使用しない方法でページングの基本をマスターしてからデータベースで取得に挑戦してみてください。

サンプルコードもデータ取得部分を変えれば使用できます

まとめ

今回はページングについてお話ししました。

簡単なようで少し複雑。phpを学び始めた頃はよく混乱しました。

この記事が少しでも学習のお役に立てれば幸いです。

それでは、また。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーランスをされている市川友哉さん。33歳で、プログラミングを学び始め、4ヶ月という短い期間でフリーランスエンジニアとして独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

つぶらや

つぶらや

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。
趣味:酒、遊び人の観察
[email protected]