Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Выборка с помощью CIBlockPropertyEnum

00 голосов
2
Всем привет! Делаю выборку всех значений по пользовательским полям. Все пользовательские поля имеют тип список, множественное. Выборку делаю таким образом
Код
$db_props = CIBlockElement::GetProperty($BLOCK_ID, $ELEMENT_ID, array("sort" => "asc"), Array("CODE" => "YEAR"));
if($ar_props = $db_props->Fetch()) 
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>, "ID" => $ar_props["VALUE"]));
      
while($enum_fields = $property_enums->GetNext()){
   $m2[0] .= "<option value = '$enum_fields[VALUE]'> $enum_fields[VALUE]</option>";
}
Отработанный код возвращает VALUE с одним значением хотя их больше! Помогите разобраться, не могу понять в чем дело.

Вот что в $ar_props
Код
Array
(
    [ID] => 78
    [TIMESTAMP_X] => 2012-02-27 10:26:15
    [IBLOCK_ID] => 20
    [NAME] => Год выпуска
    [ACTIVE] => Y
    [SORT] => 200
    [CODE] => YEAR
    [DEFAULT_VALUE] => 
    [PROPERTY_TYPE] => L
    [ROW_COUNT] => 1
    [COL_COUNT] => 30
    [LIST_TYPE] => L
    [MULTIPLE] => Y
    [XML_ID] => 
    [FILE_TYPE] => 
    [MULTIPLE_CNT] => 5
    [TMP_ID] => 
    [LINK_IBLOCK_ID] => 0
    [WITH_DESCRIPTION] => N
    [SEARCHABLE] => N
    [FILTRABLE] => N
    [IS_REQUIRED] => Y
    [VERSION] => 1
    [USER_TYPE] => 
    [USER_TYPE_SETTINGS] => 
    [PROPERTY_VALUE_ID] => 2508505
    [VALUE] => 78
    [DESCRIPTION] => 
    [VALUE_ENUM] => 2011
    [VALUE_XML_ID] => 13d70bb
)
спросил 12 Сен, 13 от Reydwolf (200 баллов)

2 Ответы

00 голосов
Попробуйте переписать так:
Код
$db_props = CIBlockElement::GetProperty($BLOCK_ID, $ELEMENT_ID, array("sort" => "asc"), Array("CODE" => "YEAR"));
while($ar_props = $db_props->GetNext())  {
   $property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("ID" => $ar_props["VALUE"]));
   if($enum_fields = $property_enums->GetNext()){
      $m2[0] .= "<option value = '$enum_fields[VALUE]'> $enum_fields[VALUE]</option>";
   }
}
ответил 14 Сен, 13 от Fenozipam (420 баллов)
00 голосов
Спасибоsmile:) помогло!
ответил 12 Дек, 13 от Reydwolf (200 баллов)

Похожие вопросы

0 голосов
0 ответов
0 голосов
2 ответов
0 голосов
3 ответов
спросил 20 Март, 14 от Hukto (120 баллов)
0 голосов
2 ответов
0 голосов
3 ответов