2012-03-09 3 views
0

フォームを使用してビューのフィルタパラメータを送信しています。複数のフィルタが選択でき、いくつかのフィルタは複数選択されています。CodeIgniter uri - 複数の値を取得するには?

しかし、post-redirect-viewメソッドを使用することをお勧めします。これは、postデータをuriセグメントに変換する必要があることを意味します。

これを念頭に置いて、私は$this->uri->uri_to_assoc(n)メソッドを使用する予定でした。しかし、私はいくつかのパラメータが複数の値を持つことができる場合、これをどのように動作させるのかよくわかりません。

私は考えることができる唯一の方法は、各キーの値を一意の文字( ' - ')で結合し、$ this->uri->uri_to_assoc(n)を使用して各キーと値のペアを解析し、 ( ' - ')をもう一度押してください。これはこれを行う最善の方法ですか?

さらに、値の1つにスラッシュ( '/')が付いている可能性があるという問題をどうやって解決しますか?

例:

Iが投稿およびパラメータをフィルタリングするために使用される複数選択(名前カテゴリ[])を有します。ユーザーは、このマルチセレクトから「Jim/Bob」と「Sarah」の2つの値を選択します。コントローラは投稿を受け取り、$this->input->post('categories')は私に配列を与えます。私は今、同じコントローラに戻ってリダイレクトし、uriのパラメータとして$this->input->post('categories')の値を使用したいと思います。 /controller/method/categories/abcのようになります。abcが選択されたカテゴリです。

+0

あなたはうまくいきたいと思いますか? – Alex

+0

より具体的に、あなたが持っているものと結果として得たいものを示してください。 – user973254

+0

IMOの場合は、[Input library](http://codeigniter.com/user_guide/libraries/input.html)と '$ _GET'パラメータを使用してください:' $ filters = $ this-> input-> get 'フィルター') '。 – bschaeffer

答えて

0

最後に、私は手動で($ query_array)http_build_queryを使用してクエリ文字列を作成し、parse_str($ _サーバ、$ GET)[ 'QUERY_STRING'];

0

これは、実際には「GET」フォームメソッドを使用する場合に適しています。あなたはユーザーからの入力を受けていませんが、ユーザーは情報を照会しています。 Post-Redirect-Getパターンは、このコンテキストでは関連しません。

クエリ文字列を使用してください。)

関連する問題