2012-02-12 21 views
2

私のウェブサイトでは、MySQL出力用のページネーション(このページの一番下のものに似ています)を使用しています。現在のページを変更するには、GETメソッド(可変ページ)を使用し、うまく動作します。 しかし、私のページには、POSTメソッドを使ったフォームもあります。このメソッドは、MySQL出力の​​フィルタとして機能します。これは問題が発生します。なぜなら、フォーム設定を送信する(POST)と、アドレス行(GET)のページが変わらないからです。これは、フィルタリングされた出力が、現在設定されているものよりも少ないページを有する場合に問題となる場合がある。html形式のページ分割

フォームが送信されたときに常にページ変数を0に設定することはできますか? 特に、$ _SERVER ['REQUEST_METHOD'] == 'POST'を使用して行いました。しかし、これはコード内の変数だけを変更します。アドレス行ではありません。 一方、私は出力のページを変更するときにPOST変数を保持します。

ありがとうございます。

+0

現在の動作とは何ですか?また、何を達成しようとしていますか。あなたがフォームを送信し、ページネーションを維持したいと仮定します。あなたが入っている結果のページを示すPOSTパラメータを追加してください。 – alfasin

+0

うん、多分それははっきりしないかもしれません。テキストを短くしてみた。実際には、フォームを送信するたびにページをwww.something?page = 0にリダイレクトしたいと思います。 – LLapsus

答えて

0

は、セットアップ中に論理的衝突があります:GETメソッド、POSTメソッドとは異なり
は、アドレスバー内の変数を保持しません。しかし何らかの理由でPOSTメソッドを使用しています。

解決策は非常に簡単です。フィルタリングにはGETメソッドを使用します。改ページのリンクを作成するには

は、実際にはそれがアドレス(GETメソッド)でフィルタ条件を送信する方が良いでしょう$_GET配列

+0

ありがとう、私はそう思います。私はhttp_build_query()の使用をチェックします。 – LLapsus

-1

PHPコードでは、「フィルタ」ボタンを押すか、呼び出されたものであれば、送信する場合はページのGETパラメータを削除したURLにリダイレクトする必要があります。したがって、ページ0から開始されます。

あなたは自分で(またはプラグインを使用して)書き直す必要があります。

タイプミスがない1、私はページ0を意味し、修正:P

+0

はい、そのようなものです。フォームの提出後、私はwww.something.php?page = 0に行きたいと思っています。 – LLapsus

0

のうち、http_build_query()を使用しています。ページネーションの問題が解決され、ユーザー(およびユーザー)は検索結果に直接リンクします。

+0

はい、ありがとうございます。私はちょうど同じように考えていた。私はそうするのは簡単だと思います。結果への直接リンクも良い点です。もう一度ありがとうございます:) – LLapsus