Имеется массив, который я получаю с ссылки вида site.com/?cpu=1,2&brand=2,3&ram=2,3 методом $_GET Код (Text): array(3) { ["cpu"]=> string(3) "1,2" ["brand"]=> string(3) "2,3" ["ram"]=> string(3) "2,3" } Как мне из данного массива склеить запрос следующего содержания? Код (Text): SELECT * FROM table WHERE cpu=1 OR cpu=2 AND brand=2 OR brand=3 AND ram=2 OR ram=3 Пытался как-то сделать вот так, но видимо имею неправильное представление о реализации. Код (Text): foreach($request->all() as $name => $value) { $valuesArray = explode(',', $value); foreach($valuesArray as $row) { $sql[] = 'WHERE ' . $name . '=' . $row; } } P.S Делаю динамический фильтр, который выдает найденные позиции запрос у которого генерируется через $_GET
Не успел отредактировать, обновил вопрос. Имеется массив, который я получаю с ссылки вида site.com/?cpu=1,2&brand=2,3&ram=2,3 методом $_GET Код (Text): array(3) {[/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT] [FONT=Arial][COLOR=rgb(20, 20, 20)][FONT=Open Sans][COLOR=rgb(44, 44, 44)][FONT=Arial][COLOR=rgb(20, 20, 20)][FONT=Open Sans][COLOR=rgb(44, 44, 44)][FONT=Arial][COLOR=rgb(20, 20, 20)] ["cpu"]=> string(3) "1,2" ["brand"]=> string(3) "2,3" ["ram"]=> string(3) "2,3" } Как мне из данного массива склеить запрос следующего содержания? P.S Возможно имею неправильное видение составления запроса, если где то ошибся логикой запроса просьба поправить. Код (Text): [/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT] [FONT=Arial][COLOR=rgb(20, 20, 20)][FONT=Open Sans][COLOR=rgb(44, 44, 44)][FONT=Arial][COLOR=rgb(20, 20, 20)][FONT=Open Sans][COLOR=rgb(44, 44, 44)][FONT=Arial][COLOR=rgb(20, 20, 20)] SELECT * FROM table WHERE slug = cpu AND name = 1 OR slug = cpu AND name = 2 WHERE slug = brand AND name = 2 OR slug = brand AND name = 3 WHERE slug = ram AND name = 2 OR slug = ram AND name = 3 Пытался как-то сделать вот так, но видимо имею неправильное представление о реализации. Код (Text): foreach($request->all() as $name => $value) {[/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT][/COLOR][/FONT] [FONT=Arial][COLOR=rgb(20, 20, 20)][FONT=Open Sans][COLOR=rgb(44, 44, 44)][FONT=Arial][COLOR=rgb(20, 20, 20)][FONT=Open Sans][COLOR=rgb(44, 44, 44)][FONT=Arial][COLOR=rgb(20, 20, 20)] $valuesArray = explode(',', $value); foreach($valuesArray as $row) { $sql[] = 'WHERE ' . $name . '=' . $row; } } P.S Делаю динамический фильтр, который выдает найденные позиции запрос у которого генерируется через $_GET
Можно начать с этого, помни что нельзя доверять данным которые пришли от пользователя, http://phpfaq.ru/tech/safety SQL Injection XSS Из ссылки получить параметры GET запроса https://secure.php.net/manual/ru/function.parse-url.php PHP_URL_QUERY Чтобы разобрать параметры GET запроса в массив https://secure.php.net/manual/ru/function.parse-str.php Чтобы склеить часть SQL запрос из массива https://secure.php.net/manual/ru/function.implode.php