Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 1
1

Релятивный фильтр

28.09.2016, 05:33. Показов 559. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, пишу для сайта умный фильтр по аналогии Яндекс.Маркета.
Собственно уже который день озадачился вопросом реализация релятивного фильтра.
Что имеем:
Динамическую форму: (Форма генерируется автоматически, но для наглядности вставил HTML)
Код
<form method="get" action="">
<div>
<label>Asus</label>
<input type="checkbox" name="filter[]" value="Asus">
<label>Acer</label>
<input type="checkbox" name="filter[]" value="Acer">
<label>Lenovo</label>
<input type="checkbox" name="filter[]" value="Lenovo">
</div>
<div>
<label>2015</label>
<input type="checkbox" name="filter[]" value="2015">
<label>2014</label>
<input type="checkbox" name="filter[]" value="2014">
<label>2013</label>
<input type="checkbox" name="filter[]" value="2013">
</div>
<button>Искать</button>
</form>
После сабмита формы имеется url следующего вида:
Код
site.com?filter=Asus&filter=2015
Так же имеем таблицы в базе данных:
Код
products (id, title)
products_to_filter (id, product_id, filter_id)
Сам обработчик выглядит следующим образом (P.S фреймворк Laravel)
Код
Выборка соответствующих фильтров.
$filter[] = explode(',', $request->input('filter');
$filters = DB::table('products_to_filter')->whereIn('id', $filter)
->get()
->all();
foreach($filters as $row) {$filterArray[] = $row->product_id;}
Выборка продуктов:
$products = DB::table('products')->whereIn('id', $filterArray)->get()->all();
Собственно моя проблема заключается в следующем, фильтр работает, но не совсем так как мне нужно, тобишь при фильтрации, он должен результаты уменьшать, а он же наоборот ищет более углубленно, и как следствие увеличивает кол-во результатов. Как решить данную проблему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2016, 05:33
Ответы с готовыми решениями:

Фильтр на ОУ
Здравствуйте. Помогите разобраться как работает данная схема на операционном усилителе. Спасибо.

Фильтр
public class My_class extends MovieClip { var glow:GlowFilter = new GlowFilter(); glow.color =...

Фильтр
Как сделать фильтр MyTable по двум запросам Edit1-&gt;Text и Edit2-&gt;Text чтобы отоброжало в DBGrid ...

Фильтр
Подскажите почему не работает код Form13.tbl1.Filtered:=true; ...

0
28.09.2016, 05:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2016, 05:33
Помогаю со студенческими работами здесь

Фильтр
Подскажите код, который запрещает вводить число, в котором есть определенная цифра. Например,...

Фильтр
Доброго времени! Есть база: Страна Область Населенный пункт ...

Фильтр от и до
надо чтобы в бд сортировало от и до: допустим ставим цену от 200 до 500 и оно должно показать все...

Фильтр
Пожалуйста помогите настроить фильтр то есть поставить его красиво. Чтобы сумма была по середине а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru