Не могу разобраться с такой штукой.
Есть форма поиска, перенаправляет на страницу с результатами с возможностью постраничного просмотра и сортировки. Строку с where для запроса я храню в сессии.
Ситуация такая. К примеру, хочу сделать 2 разных поиска и сравнить результаты.
Открываю одну вкладку браузера с формой поиска, задаю параметры и получаю результат. Открываю вторую вкладку браузера с формой поиска, задаю новые параметры поиска, получаю другой результат. Потом возвращаюсь в первую, делаю сортировку результата или переход на новую страницу. Снова иду во вторую, тоже делаю переход или сортировку и - опа! - результат поиска заменяется на результат из 1й страницы. Все из-за того, что храню фактически одну строку с параметрами поиска в сессии.
Как в такой ситуации сделать правильно? Использовать массив строк в сессии что ли?
Может, где-то пример можно глянуть, чувствую, что все должно быть несложно - везде, где ни посмотрю, это работает правильно.
1. Polaris - 05 Октября, 2010 - 07:24:56 - перейти к сообщению
2. AdMeen - 05 Октября, 2010 - 09:23:00 - перейти к сообщению
собственно почему бы не передавать строку через GET?
3. Polaris - 05 Октября, 2010 - 09:28:23 - перейти к сообщению
AdMeen пишет:
собственно почему бы не передавать строку через GET?
Там результаты поиска могут использоваться еще в нескольких документах, в общем-то. Подумалось, в сессии оно правильнее будет.
4. Пит - 05 Октября, 2010 - 14:43:06 - перейти к сообщению
сделай массив или сделай две разных переменных и признак выполнения - выполнен запрос на выборку или нет, организуй это классом и передавай класс (обект, а не строку), сохраняй во временный файл результаты поиска или в базу данных, а при сравнении читай. тебе ж виднее, какая у тебя логика кода и что больше подойдет именно тебе
![Улыбка Улыбка](./im/emoticons/smile24.gif)