Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> постраничный вывод из БД, в поиск посылать ненадо 
:(
    Опции темы
agarheim
Дата 20.2.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



Вопрос следующего толка. как организоввывается постраничный вывод я понимаю и он работает и все хорошо, но вот посетила меня такого толка идея:

Критерии для поиска задает форма (количество параметров передаваемых изменяется от 2 до 10). 
И както их все передавать $_GET"ом нехоцца. вот думаю может в сессии их запихнуть?!
у кого какие соображания на эту тему есть?!
PM MAIL WWW ICQ   Вверх
bars80080
Дата 20.2.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



а $_POST'ом не получается?
PM MAIL WWW   Вверх
agarheim
Дата 20.2.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



у меня присутствует много пробелов в знании программирования. но на сколько я понимаю то $_POST ом я передам данные из формы первый раз в скрипт который мне даст результатом страницу с данными лимит от 0 до 10. и перечнем страничек 1 ,2,3,4,5 ...ну или сколько их получится. Так вот я думаю если все данные переданные постом записать в сессию. и тогда ссылка выбора следующей странички от10 до 20. будет передавать просто одно значение с какого по какое выбирать а все остальные данные незаметно для пользователя будут браться из сессии
PM MAIL WWW ICQ   Вверх
bars80080
Дата 20.2.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



ну, в принципе если так ставить вопрос, то возможно лучше решение в сессию

другое решение: использовать для хранения параметров БД или файлы, но это уже упражнения со штангой на батуте
формировать каждый раз форму с кнопочками 1 2 3 4 ... и скрытыми полями с передаваемыми параметрами то же самое только уже с клиентской стороны

Это сообщение отредактировал(а) bars80080 - 20.2.2008, 15:22
PM MAIL WWW   Вверх
agarheim
Дата 20.2.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



Вобщем посмотрел я как оно выглядит если гетом, слишком большая ссылка получается даже если учесть что преобразовано в ЧПУ. то громоздко выглядит. буду в сессию прятать и все дела. 

Вопрос всеравно оставляю открытым. может у кого уже есть опыт такого плана.
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 20.2.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 2
Всего: 16



bars80080, прежде, чем отвечать на вопрос, надо задуматься - а какой в нем смысл?

Цитата(agarheim @  20.2.2008,  14:28 Найти цитируемый пост)
И както их все передавать $_GET"ом нехоцца

agarheim, задавая вопрос, надо внятно сформулировать проблему
А вопросы типа "хоцца - не хоцца" не имеют отношения к программированию.

С точки зрения юзабилити передавать надо только GET-ом.
Вред фреймов знают уже, кажется, все. Но упорно стремятся наступить на те же грабли в поиске. мне сто раз присылали ссылки "посмотри, стоит ли покупать такую железяку". ага. посмотрел. На форму поиска.


Это сообщение отредактировал(а) GeneralElectric - 20.2.2008, 15:43
PM MAIL   Вверх
agarheim
Дата 20.2.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



угу. теперь понял. в чем я ошибался. 
вообще вылетело из головы то что потом никто другой не сможет этим воспользоваться.

Это сообщение отредактировал(а) agarheim - 20.2.2008, 15:38
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 20.2.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 2
Всего: 16



Код

$qs="?";
foreach ($_GET as $key => $value) if ($key != "page") $qs.=urlencode($key)."=".urlencode($value)."&";

Вот и вся "передача GET-ом". Ничего сложного. 
А ЧПУ в поиске - как рыбке зонтик.

Это сообщение отредактировал(а) GeneralElectric - 20.2.2008, 15:44
PM MAIL   Вверх
bars80080
Дата 20.2.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



GeneralElectric, а если тридцать параметров из формы в форму, наподобии визарда?

PM MAIL WWW   Вверх
agarheim
Дата 20.2.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



вопрос возник из-за 10 параметров передаваемых.  просто когда в форме передается искать такоето слово одно. то нормально. а когда их 10?! на что похожа передаваемая строка. теперь понимаю что для удобства пользователей надо всерамно гетом передавати
PM MAIL WWW ICQ   Вверх
Fortop
Дата 20.2.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42



Цитата(agarheim @  20.2.2008,  16:46 Найти цитируемый пост)
вопрос возник из-за 10 параметров передаваемых.  просто когда в форме передается искать такоето слово одно. то нормально. а когда их 10?! на что похожа передаваемая строка. теперь понимаю что для удобства пользователей надо всерамно гетом передавати 

Схожую задачу, правда для ограниченного круга пользователей и с обязательной авторизацией решил через сессии.
Состояние сессии сохраняется в базе.

В принципе, если ничего военного в информации нет (в моей задаче есть), то можно создавать хеш параметров поиска. 
А сами их записывать в базу. 
Тогда механизм работы будет следующий.

1. Если пользователь обращается по ссылке с хешем, параметры берутся из базы.
2. Если как обычно заполнив форму, то попутно формируем хеш. И пишем в базу (если таковой отсутствует, если присутствует, то обновляем дату обращения).
3. Да, и я бы позаботился о сборщике мусора получающего в базе. т.е. записи к которым последнее обращение было старше Н-го срока стирал бы.

P.S. у меня те самые 20-30 параметров поиска и бывают. В урл все это толкать - самоубийство.

Это сообщение отредактировал(а) Fortop - 20.2.2008, 21:47


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
agarheim
Дата 21.2.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 2.3.2006

Репутация: нет
Всего: нет



Цитата(Fortop @ 20.2.2008,  21:47)
Схожую задачу, правда для ограниченного круга пользователей и с обязательной авторизацией решил через сессии.
Состояние сессии сохраняется в базе.

В принципе, если ничего военного в информации нет (в моей задаче есть), то можно создавать хеш параметров поиска. 
А сами их записывать в базу. 
Тогда механизм работы будет следующий.

1. Если пользователь обращается по ссылке с хешем, параметры берутся из базы.
2. Если как обычно заполнив форму, то попутно формируем хеш. И пишем в базу (если таковой отсутствует, если присутствует, то обновляем дату обращения).
3. Да, и я бы позаботился о сборщике мусора получающего в базе. т.е. записи к которым последнее обращение было старше Н-го срока стирал бы.

P.S. у меня те самые 20-30 параметров поиска и бывают. В урл все это толкать - самоубийство.

как вариант решения мне понравился, наверное попробую пойти по такому направлению. завтра скорее всего. 
PM MAIL WWW ICQ   Вверх
GeneralElectric
Дата 21.2.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 2
Всего: 16



Видимо, в яндексе, гугле и прочих больших сайтах с поиском работают дураки. Которые занимаются самоубийством, пихая параметры в строку. И никто им, бедным, не скажет, как правильно.

PM MAIL   Вверх
bars80080
Дата 21.2.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



но всё же наверное есть какое-то ограничение на длину строки (url), а объёмы передаваемых данных бывают весьма большими, здесь ведь никто не говорил что поиск будет как в яндексе
PM MAIL WWW   Вверх
Fortop
Дата 2.3.2008, 05:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 3
Всего: 42



Цитата(GeneralElectric @ 21.2.2008,  17:08)
Видимо, в яндексе, гугле и прочих больших сайтах с поиском работают дураки. Которые занимаются самоубийством, пихая параметры в строку. И никто им, бедным, не скажет, как правильно.

Дураки не дураки, а пределы все таки есть http://paradigm.ru/2007/12/19/url-max-length/

Возможно со временем они исчезнут, но пока так.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.