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

いつもご助言をいただきありがとうございます。

PHPとMysqlを使い、検索フォームを作っております。
MysqlからLIKE文を使ってデータのカウント、取得は問題なく出来ました。
しかし、ページネーションをクリックすると検索キーワードが保持されず、エラーになってしまいます。(当然ですが・・・)

POSTでデータを渡しているのですが、どういった方法を使えば検索キーワードを保持することができるのでしょうか?Cookie、Session、GETなどは思いついたのですが、一般的にはどのような方法を使うのでしょう?

詳しい方がいらっしゃいましたら、ご助言をいただけないでしょうか。
よろしくお願いいたします。

A 回答 (2件)

formで遷移しているならinput hiddenで十分です


アンカー(a)で遷移するなら、アンカーのgetパラメータに保持するのが楽です
ただしアンカーになんらかの理由で付加できないなら
セッションが一番確実で楽に情報を受け渡す手段です
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます!
アンカーで遷移するのでやはりgetが使いやすいですよね。getパラメーターを使ってやってみます。
ありがとうございました!

お礼日時:2017/01/26 04:30

こんにちは


詳しいわけではありませんし、一般的な方法も存じませんが・・・

例えば検索サイトのgoogleやyahooを見てみると、ページネーションのリクエストの際でも、毎回検索キーを付けてリクエストしているようです。
想像するところ、全体の仕組みを単純化できるからだと思います。
(当然ながら、サーバからのレスポンスに検索キーも含まれている。)(←表示する/しない とは別の話)

Cookie等を利用しても可能と思いますが、例えば・・・
 ユーザが検索1を実行し、続けて検索2を実行。
 history backで前に戻り、検索1の2ページ目をリクエスト。
などといった場合でも、正しく処理できるようにしておく必要があるでしょう。

最初の方法でのサーバ側の処理は、単純にリクエスト内容に応えるだけで処理を完了できる形式になっているので、シンプルにできていると思います。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます!
確かに大手検索エンジンでも検索キーをつけてリクエストしていますよね。やはり単純にgetパラメーターでやってみることにします。
ありがとうございました!

お礼日時:2017/01/26 04:31

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