プロが教えるわが家の防犯対策術!

MySQLより取得したデータを、URL固定でページングしたいです。
・URL固定例 … http://〇〇.ne.jp/hoge

■質問
・POST使用するのでしょうか?
・その場合、GETではないので現在ページを取得できないと思うのですが、どうするのでしょうか?
 ・セッション?
 ・input type hidden?
 ・JavaScriptで取得? getElementById?

・または、.htaccessとかで処理するのでしょうか?
・あるいは、Ajaxとかでなければ出来ない?


■補足
・件数が多いので、非表示切替でページングするのではなく、その都度DBからデータ取得するようにしたいです

A 回答 (3件)

URLが見た目変わらないだけでいいならhiddenに現在表示しているページなんかを埋め込んで送信して処理すればOK。


ページの遷移を伴いたくない時はAjaxでサーバ上からJSON形式で吐き出して、それを取得して処理すればOK。
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2014/12/14 23:44

>現在ページを取得できない



「現在ページ」とは何を指していますか?ちょっと意味がわかりません。

たとえば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の付加をさせない)のかが理解出来ませんけどね。使いにくいインタフェイスになるだけだと思いますけど・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2014/12/14 23:45

まず、データ取得を表示するページのデータだけにするということなら


javascriptでの対象外データの非表示切り替えでは、合致しないことになります。

セッションだと、これまでの閲覧履歴はわかりますが、URL固定のGETだと
先頭ページ|前のページ|ページ番号指定|次のページ|最終ページ
といったリンクで表示する対象ページを切り替えることができません。

よって、簡単なのは 対象のページ番号をPOSTのhiddenデータにしてしまうことでしょう。

ただ、どのページも固定のURLにしてしまうと、
対象ページのURLをブックマークしても意味がないですし、
ブラウザの既読管理を使った、リンクの色分けが出来なかったり
2ページ目以降が検索エンジンの対象にもならないなど、厄介なこと多いので、
GETデータに表示対象のページ番号にしたURLにするのが 普通じゃないですかね。
(業務用Webアプリで、既読管理もブックマークもSEOも必要なくて
 逆にブックマークされないように固定URLにしたい ということかもしれませんが)
    • good
    • 0
この回答へのお礼

回答ありがとうございました

>どのページも固定のURLにしてしまうと、
>対象ページのURLをブックマークしても意味がないですし、
>ブラウザの既読管理を使った、リンクの色分けが出来なかったり
>2ページ目以降が検索エンジンの対象にもならないなど、厄介なこと多い
・初めて知りました
・再度検討したいと思いますー

お礼日時:2014/12/14 23:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!