Добрый день. Делаем фильтр на сайте. Есть таблица в которой есть поля paramid, collectionid. Есть фильтр, из которого прилетают значения paramid. Там чекбоксы. paramid collectionid 195 - 2 169 - 2 123 - 2 122 - 2 169 - 3 195 - 4 231 - 5 221 - 3 123 - 3 145 - 3 212 - 2 243 - 5 211 - 5 231 - 4 169 - 4 278 - 4 Вот например. Получаем параметр 195. Мне надо получить список параметров тех коллекций у которых есть параметр 195 и сгруппировать по количествам. То есть 195 есть у коллекции 2 и 4. Соответственно в результате должны получить массив параметров 169, 195,123,122, 231,212,278 и напротив каждого желательно у скольких позиций он есть 195 - 2 коллекции, 169 - 2 коллекции и так далее. Потом скажем пользователь из оставшихся нажимает следующий чекбокс с параметром 122 и вот тут надо выбрать только из оставшихся... значений в таблице около 6000... как сделать нарастающую так скажем выборку из выборки
К сожалению PDO не вариант пользоваться. Система существующая и там нет поддержки PDO. Может есть другие способы?
PHP: <?php $a = [ [1,1], [1,1], [1,1], [2,1], [3,1], [3,1], [4,1], ]; $b = []; foreach ( $a AS [ $first, $second ] ) { $b[$first][] = $second; } print_r ( $b );
Вопрос решился построением cross join по нарастающей - все корректно работает. Следующий join выбирает из предыдущего...