Как сделать поиск (фильтрацию), кликая по ссылкам?

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Хочу сделать выбору из БД "пошаговую". В блоке вывести название поля, например,
Пол: Для просмотра ссылки Войди или Зарегистрируйся|Для просмотра ссылки Войди или Зарегистрируйся
Цвет: Для просмотра ссылки Войди или Зарегистрируйся|Для просмотра ссылки Войди или Зарегистрируйся|Для просмотра ссылки Войди или Зарегистрируйся
и т.д.
Пользователь нажимает сначала на пол "плитка", Страница перезагружается и выводятся записи по соответствию условиям (пол). Ссылка подсвечивается (через стиль).
Далее нажимает на любой цвет. Страница снова перезагружается и выводятся записи по соответствию условиям (пол+цвет). Ссылка подсвечивается (через стиль).
И т.д.
Не могу все во едино свести... может быть есть готовые решения? Точнее, где их взять.
Можно без перезагрузки страницы.
 
Автоматическая отправка формы может быть сделана так:
HTML:
  <select name="sort"  onchange="this.form.submit();" >
     <option value="0">Не выбрано</option>
     <option value="1">По имени</option>
     <option value="2">По убыванию цены</option>
     <option value="3">По возрастанию цены</option>
   </select>
Должен заметить, что метод отправки лучше делать Гет, чтобы в адресе запоминался промежуточный выбор.
А в option нужно отслеживать что выбрано — с помощью selected
 
Последнее редактирование:
Автоматическая отправка формы может быть сделана так:
HTML:
  <select name="sort"  onchange="this.form.submit();" >
     <option value="0">Не выбрано</option>
     <option value="1">По имени</option>
     <option value="2">По убыванию цены</option>
     <option value="3">По возрастанию цены</option>
   </select>
Должен заметить, что метод отправки лучше делать Гет, чтобы в адресе запоминался промежуточный выбор.
А в option нужно отслеживать что выбрано — с помощью selected
вы читали вопрос? Причем тут select и onchange?
 
вы читали вопрос? Причем тут select и onchange?
А при том, что «кликая по ССЫЛКАМ» — не получится. Должна быть ФОРМА с select или input
Пример Для просмотра ссылки Войди или Зарегистрируйся
Обратите внимание как меняется адрес при выборе параметров
 
А при том, что «кликая по ССЫЛКАМ» — не получится. Должна быть ФОРМА с select или input
Пример Для просмотра ссылки Войди или Зарегистрируйся
Обратите внимание как меняется адрес при выборе параметров
видимо вы не все знаете... еще как можно. хотя бы потому, что я сделал. Ну или потому, что есть и на других сайтах. Правда остается вопрос в оптимизации, готовых решений.
может быть, вернусь к рассмотрению варианта с формой.
 
видимо вы не все знаете... еще как можно. хотя бы потому, что я сделал. Ну или потому, что есть и на других сайтах. Правда остается вопрос в оптимизации, готовых решений.
может быть, вернусь к рассмотрению варианта с формой.
Тогда сложность реализации на стороне сервера будет увеличиваться в квадрате на каждый параметр.
А при применении формы она практически не увеличивается — делаем foreach по get массиву, и сколько там в массиве параметров, 5 или 10 — без разницы, движок даже не заметит.
Я Вам не из головы это всё пишу, а из своего опыта реализации поиска, если что.
Только у меня внутри по-другому сделано чем на том сайте что показал, ещё проще.
 
А при том, что «кликая по ССЫЛКАМ» — не получится. Должна быть ФОРМА с select или input
И что по вашему делает форма, передающая запрос методом $_GET?

Всё нормально получится, проходишь циклом foreach по параметрам и формируешь ссылки типа
<a href="/page?color=red">red</a>
<a href="/page?color=green">green</a>

для мультипараметров, т.е. после того как выбрали цвет надо еще размер выбрать, пример:
<a href="/page?color=red&size=48">48</a>
<a href="/page?color=green&size=50">50</a>

и т.д.

На php скрипте разбираешь url через parse_url(), потом query из этого массива разбираешь через parse_str(), обрабатываешь уникальность параметров и собираешь обратно через http_build_query() и http_build_url() - надо если нужно выбрать только один цвет или только один размер
Подробности по работе с функциям смотри на php.net
 
Для просмотра ссылки Войди или Зарегистрируйся

ключевые слова «сложность реализации на стороне сервера будет увеличиваться в квадрате на каждый параметр».
Согласитесь, что ссылками сложнее гораздо — трудно группировку свойств делать.
И кстати реализацию сортировки именно через Гет лучше и делать.
Вот мой пример реализации сортировки:

Выбирайте параметры селектами — каталог автоматически перезагружается.
 
Последнее редактирование:
ключевые слова «сложность реализации на стороне сервера будет увеличиваться в квадрате на каждый параметр».

Значит, что-то неверно сделано в коде...
У меня на работе половина админки на ссылках, половина на формах - разницы в сложности никакой не вижу.

Хотя я начал понимать о какой простоте ты говоришь - у тебя сразу все параметры передаются по всем возможным опциям. Минус такого подхода в загромождении url...
 
Назад
Сверху