Хоть и была тема открыта очень давно (наткнулся из поиска), но если нужно выбрать уникальные значения свойств из инфоблока то нужно использовать метод "CIBlockElement::GetList" с третьем параметром (группировка):
[CODE]$_db = CIBlockElement::GetList(
array(),
array(
'IBLOCK_TYPE' => 'catalog', // тип инфоблока
'IBLOCK_ID' => '1', // ID инфоблока
'ACTIVE' => 'Y', // только активные элементы
'!PROPERTY_79_VALUE' => '' // значение не должно быть пустым
),
array('PROPERTY_79') // группировка по VALUE
);[/CODE]работает для свойств строкового типа, на списках не проверял.
У меня было свойство привязка к элементам инфоблока, если нужно так же вытащить имя сгруппированного элемента то следует добавить в третий параметр названия поля:
[CODE]array('PROPERTY_79', 'PROPERTY_79.NAME') // группировка по VALUE[/CODE]
В результате вот такой массив:
[CODE]Array
(
[PROPERTY_79_VALUE] => 412
[~PROPERTY_79_VALUE] => 412
[PROPERTY_79_NAME] => Название элемента
[~PROPERTY_79_NAME] => Название элемента
[CNT] => 3
[~CNT] => 3
)[/CODE]
[CODE]$_db = CIBlockElement::GetList(
array(),
array(
'IBLOCK_TYPE' => 'catalog', // тип инфоблока
'IBLOCK_ID' => '1', // ID инфоблока
'ACTIVE' => 'Y', // только активные элементы
'!PROPERTY_79_VALUE' => '' // значение не должно быть пустым
),
array('PROPERTY_79') // группировка по VALUE
);[/CODE]работает для свойств строкового типа, на списках не проверял.
У меня было свойство привязка к элементам инфоблока, если нужно так же вытащить имя сгруппированного элемента то следует добавить в третий параметр названия поля:
[CODE]array('PROPERTY_79', 'PROPERTY_79.NAME') // группировка по VALUE[/CODE]
В результате вот такой массив:
[CODE]Array
(
[PROPERTY_79_VALUE] => 412
[~PROPERTY_79_VALUE] => 412
[PROPERTY_79_NAME] => Название элемента
[~PROPERTY_79_NAME] => Название элемента
[CNT] => 3
[~CNT] => 3
)[/CODE]