I have a /payments interface where the user should be able to filter via price range, bank, and other stuff. Those filters are standard select boxes. When I submit the filter form, all the post data goes to another method called payments/search. That method performs the validation, saves the post values into a session flashdata and redirects the user back to /payments passing the flashdata name via URL.
So my standard pagination links with no filters are exactly like this:
payments/index/20/
payments/index/40/
payments/index/60/
And if you submit the filter form, the returning URL is:
payments/index/0/b48c7cbd5489129a337b0a24f830fd93
This works just great. If I change the zero for something else, it paginates just fine. The only issue however is that the << 1 2 3 4 >> page links wont keep the hash after the pagination offset. CodeIgniter is generating the page links ignoring that additional uri segment.
My uri_segment config is already set to 3:
$config['uri_segment'] = 3;
I cannot set uri_segment to 4 because that hash may or may not exists. Any ideas of how can I solve this? Is it mandatory for CI to have the offset as the last segment in the uri? Maybe I am trying an incorrect approach, so I am all ears.
Thank you folks.
edit: Why am I passing the flashdata name via uri you might ask? because it allows the user to open several browser tabs and do different searches in each tab. For each filtering you do, a new flashdata var is generated.