Web.fla

主食は、html/css/php/javascript(jQuery) デザートはactionscript!WEBに関することをメモってくサイト

*

【PHP】ページ送り機能|連番で振っていくバージョン

      2015/02/20

phpの案件でデータを10件ずつ表示されて次のデータを表示するときに「次」「前」とかページ送りにするけど、そうではなくて「1,2,3,4」と連番をふっていくような仕組みを作成したときのメモ。
ただ自分で試してみた簡易バージョン。CSVで管理した場合なのでデータベースの場合はプログラムが変わってくる

ページ送りするときに必要な変数

ページ送りにするときに、必要な変数を用意する。最大データ表示数を格納する変数など

といった具合に変数を用意しておく

ページ送りに必要なロジック部分を作成する

今回はcsvからデータを取り出してるが、全体の流れを下記のような流れで割り出す

  1. クリックした番号を$idに格納する
  2. csvから配列$dataに一行分のデータを抜き出しそれをまとめた多次元配列$datalistに格納する
  3. $totalにcount()関数で配列総数を格納 
  4. $totalを$maxで割った整数が$pageNumとなる
  5. クリックされた番号に$maxをかけた数値を割り出し$startに格納
  6. $startに$maxを足すことで$endを割りだし格納する

ページ送りのナビゲーションを作成

$pageNumさえ割り出せれば、ナビゲーションの作成は簡単なので説明不要です。
クリックデータは$_GETで送信させます。クリックしたidは配列インデックスが0から始まるが表示は1番目から表示させます。(配列のインデックスが0番目から始まるので・・)

データを表示させる

csvからデータを5つずつ表示させるロジック。ポイントは$startと$endがポイントになります。
上記で$startと$endの割り出し方を書きましたが、両方の変数を元にfor文で$datalistの配列のインデックス番号をずらすことでデータ表示させてます。

動作確認

 - php

     

Message

  関連記事

【PHP】PHPでリロード対策をして二重投稿を防止しよう

phpでフォームとか作ってデータを送信できた!!!って喜んでるのもつかの間(笑い …

phpでfor文で列で横並びさせるときに左のみマージンをなくす

まぁある案件で、画像ギャラリーをphpで管理していたときにcsvデータからデータ …

【PHP】session 個別で削除

前回はセッションでログアウトする際にセッション全体を削除したけど、それぞれセッシ …

【jquery】$.postを利用してCSVを読み込む

jQueryの$.postを利用してCSVを読み込む案件がありそうだったので、今 …

【PHP】多次元配列をあるキーを基準に並び替えたい

ある案件で画像のパス、タイトル、カテゴリ、リンク先などのデータを多次元配列で管理 …

[PHP]CSVを読み込み時、文字化けさせないで読み込む方法とは!?

PHPを利用してCSVを読み込んだり書き込んだりする処理はよくあると思います。た …

【PHP】ftruncateでファイルの中身を上書きするには?

たまたま、ファイルの中身を別のファイルに書き換えるというか上書きするようなことを …

【PHP】sessionの完全な破棄

よくあるログインすると「~~様こんにちは」みたいなログイン情報を保持して破棄する …

PHPでユーザーエージェントを判別

前回はjavscriptでユーザーエージェントを判別していたが、PHPもついでに …

【PHP】URLを分解して配列で取り出すには?

PHPでプログラムをするとやっぱURLって結構いじるときありますよね。 例えば、 …