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

Фильтр поиска

26.12.2015, 07:01. Показов 870. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем не спящим привет. Я все никак не могу сделать нормальный запрос к бд, что бы работал фильтр. Может кто что подскажет. И так есть у нас форма которая передает двумерный массив, т.е. к примеру
"Array ( [brand] => Array ( [0] => Acer [1]=> Apple ) [cpu]=> Array( [0]=>Intel [1]=> AMD)" ну и так далее, дальше есть такой вот контроллер
PHP
1
2
3
4
5
6
7
8
public function index(){
        if(!$_POST){
        $this->data['notebooks'] = $this->model->getbyNotebooks();
 
        }else{
           $this->data['notebooks'] = $this->model->filterNotebooks($_POST);
        }
    }
P.S. ключ один, поскольку понты писать форич для другого ключа, да и лучше будет когда замена будет.
И вот мы добрались к самому сладкому, модель:

PHP
1
2
3
4
5
public function filterNotebooks($data){
        $brand = $data['brand'];
        $sql = "select * from product where type=notebooks AND brand = '{$brand}'";
        return $this->db->query($sql);
    }
Вот как тут составить правильный запрос для такого массива? То нотисы уже запарили кричать что массив конвертируется в строку. Ну надеюсь предельно ясно описал свою проблему, если чет не понятно спрашивайте =) Чуть не забыл, мб кто знает как сфигачить корзину? или хотя бы, подсказать что бы она считала общую сумму.

Добавлено через 1 час 50 минут
UPD. Проблема нашлась, но не решилась. Трабла заключается в двумерном массиве, то есть сам запрос не понимает какого фига я хочу и пихаю ему какую то дичь в виде массива "brand". Может ктонить подсказать как правильно его разложить что бы запрос понимал что я от него хочу. За всю ночь голова уже не варит
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.12.2015, 07:01
Ответы с готовыми решениями:

Фильтр поиска
Хочу сделать фильтр по стране, городу, половой принадлежности и возрасту. Как это можно сделать? Я знаю как ищется по определенному...

Фильтр поиска из SQL
Добрый день . Есть сайт заявок нужно реализовать поиск по категориям . Никак немогу разобраться . Суть такова Выбираем несколько...

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

2
 Аватар для kernel
28 / 28 / 7
Регистрация: 12.06.2009
Сообщений: 71
26.12.2015, 09:01
Попробуй так
PHP
1
2
3
4
5
public function filterNotebooks($data){
        $brand = implode(',', $data['brand']);
        $sql = "select * from product where type=notebooks AND brand IN (" . $brand . ")";
        return $this->db->query($sql);
}
1
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
26.12.2015, 10:45  [ТС]
работает только для 1 значения и если выбрать 2 или более то ничего не происходит, нужно что бы оно перебирало все значения которые переданы выборке. Чет в инете находил на счет $where и задавать ей AND + значение, но так и не понял что нужно сделать.

Добавлено через 29 минут
UPD. Вообщем делал принт, при 1 значение норм, а дальше возвращает пустой массив. Беда беда, хз че делать.

Добавлено через 53 минуты
UPD.Посидел, выпил кофейку, покурил, подумал почему же просто не видит значения и малех доперло что в запросе IN должны значения идти вот так ('1','2') а были (1,2) добавил ковычки в имплод и заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.12.2015, 10:45
Помогаю со студенческими работами здесь

Фильтр поиска для сайта
Подскажите как организовать такой фильтр.. Может натолкнете на путь истинный?

Фильтр поиска из SQL - PHP
Добрый день . Есть сайт заявок нужно реализовать поиск по категориям . Никак немогу разобраться . Суть такова Выбираем несколько...

Вывод результатов поиска по БД на странице поиска
Добрый день. Я начинаю изучать PHP и у меня возник вопрос. Я создал страницу поиска по БД и вывода результатов. С помощью метода post...

Фильтр поиска
Здравствуйте. Делаю интернет магазин, установлены компоненты K2, JA K2 Filter, K2 Store. Нужно сделать меню поиска товаров. Делаю, всё...

Фильтр и поиска по list<>
Можете помочь, есть база параметрами, как ее добавить в listbox, и реализовать фильтр по параметрам, или поиск? public class Base ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru