ladan
Новичок
Здравствуйте! Есть интернет-магазин, где есть форма с фильтрами каталога. Есть строка в url, например, http://magazin/smartfony?color=gold,black,white&screen_size=6.5,5.8,6.1&brand=apple,samsung&internal_memory=128,64
В итоге на сервере обрабатываем ссылку и получаем массив:
Не могу понять, как можно перекрестить значения в массиве, чтобы сформировать запрос для mysql. На выходе должно получиться:
Параметров может быть как больше, так и меньше
вариантов должно получиться очень очень много, что думаю без рекурсии тут не обойтись, не могу логику понять, как сделать
В итоге на сервере обрабатываем ссылку и получаем массив:
Array( [color] => Array ( [0] => gold [1] => black [2] => white ) [screen_size] => Array ( [0] => 6.5 [1] => 5.8 [2] => 6.1 ) [brand] => Array ( [0] => apple [1] => samsung ) [internal_memory] => Array ( [0] => 128 [1] => 64 ) ) |
Не могу понять, как можно перекрестить значения в массиве, чтобы сформировать запрос для mysql. На выходе должно получиться:
color='gold' AND screen_size='6.5' AND brand='apple' AND internal_memory='128' OR color='black' AND screen_size='6.5' AND brand='apple' AND internal_memory='128' OR color='white' AND screen_size='6.5' AND brand='apple' AND internal_memory='128' OR color='gold' AND screen_size='5.8' AND brand='apple' AND internal_memory='128' OR color='black' AND screen_size='5.8' AND brand='apple' AND internal_memory='128' OR color='white' AND screen_size='5.8' AND brand='apple' AND internal_memory='128' OR color='gold' AND screen_size='6.1' AND brand='apple' AND internal_memory='128' OR color='black' AND screen_size='6.1' AND brand='apple' AND internal_memory='128' OR color='white' AND screen_size='6.1' AND brand='apple' AND internal_memory='128' и так далее (еще не учли brand (samsung) и internal_memory). Получится еще столько же вариантов. |
Параметров может быть как больше, так и меньше
вариантов должно получиться очень очень много, что думаю без рекурсии тут не обойтись, не могу логику понять, как сделать