- ベストアンサー
URL固定でMySQLデータをページングする方法
- MySQLデータをURL固定でページングする方法について調べています。
- POSTを使用する場合、現在のページを取得する方法について検討しています。
- ページングの際に非表示切替ではなく、DBからデータを都度取得する方法を実現したいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、データ取得を表示するページのデータだけにするということなら javascriptでの対象外データの非表示切り替えでは、合致しないことになります。 セッションだと、これまでの閲覧履歴はわかりますが、URL固定のGETだと 先頭ページ|前のページ|ページ番号指定|次のページ|最終ページ といったリンクで表示する対象ページを切り替えることができません。 よって、簡単なのは 対象のページ番号をPOSTのhiddenデータにしてしまうことでしょう。 ただ、どのページも固定のURLにしてしまうと、 対象ページのURLをブックマークしても意味がないですし、 ブラウザの既読管理を使った、リンクの色分けが出来なかったり 2ページ目以降が検索エンジンの対象にもならないなど、厄介なこと多いので、 GETデータに表示対象のページ番号にしたURLにするのが 普通じゃないですかね。 (業務用Webアプリで、既読管理もブックマークもSEOも必要なくて 逆にブックマークされないように固定URLにしたい ということかもしれませんが)
その他の回答 (2)
- agunuz
- ベストアンサー率65% (288/438)
>現在ページを取得できない 「現在ページ」とは何を指していますか?ちょっと意味がわかりません。 たとえばPOSTで渡すなら、そのform要素内に必要なものを(type属性が"hidden"のinput要素で)埋め込んでおけばいいだけです。 <a href="<?= '?page=' . ($page+1); ?>">NextPage</a> などとしているのを <form action="" method="post"><input type="hidden" name="page" value="<?= ($page + 1); ?>"><input type="submit" value="NextPage"></form> とするだけです。 でもいったい何のためにURL固定にする(QueryStringの付加をさせない)のかが理解出来ませんけどね。使いにくいインタフェイスになるだけだと思いますけど・・・
お礼
回答ありがとうございましたー
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
URLが見た目変わらないだけでいいならhiddenに現在表示しているページなんかを埋め込んで送信して処理すればOK。 ページの遷移を伴いたくない時はAjaxでサーバ上からJSON形式で吐き出して、それを取得して処理すればOK。
お礼
回答ありがとうございましたー
お礼
回答ありがとうございました >どのページも固定のURLにしてしまうと、 >対象ページのURLをブックマークしても意味がないですし、 >ブラウザの既読管理を使った、リンクの色分けが出来なかったり >2ページ目以降が検索エンジンの対象にもならないなど、厄介なこと多い ・初めて知りました ・再度検討したいと思いますー