Добрый день
На сайте есть веб-форма для регистрации на определенное мероприятие
По умолчанию все анкеты имеют статус "В очереди." Далее администратор им присваивает статус "Принято"
Мне на сайте надо вывести список всех участников со статусом "Принято"
Компонент "Список результатов (bitrix:form.result.list)" не подходит, так как он выводит все анкеты, и с статусов "В очереди" и "принято".
Насколько я поняла можно воспользоваться еще API, классами.
написала следующий код:
Подозреваю,что он не правильный. Так как
- каждый раз делается запрос к базе
- нельзя отфильтровать анкеты по какому либо полю
как оптимизировать данный код? или я использую не те классы?
На сайте есть веб-форма для регистрации на определенное мероприятие
По умолчанию все анкеты имеют статус "В очереди." Далее администратор им присваивает статус "Принято"
Мне на сайте надо вывести список всех участников со статусом "Принято"
Компонент "Список результатов (bitrix:form.result.list)" не подходит, так как он выводит все анкеты, и с статусов "В очереди" и "принято".
Насколько я поняла можно воспользоваться еще API, классами.
написала следующий код:
Код |
---|
<? CModule::IncludeModule('form'); // ID веб-формы $FORM_ID = 1; $arFilter = array ( "STATUS_ID" => 5 ); $rsResults = CFormResult::GetList($FORM_ID, $by = 's_id', $order = 'asc', $arFilter, $is_filtered, 'N', false); $k = 0; $RESULT_ID2 = array(); while ($arResult = $rsResults->Fetch()) { $RESULT_ID2[$k] = $arResult['ID']; $k++; } $i = 0; while($i < count($RESULT_ID2)){ $RESULT_ID = $RESULT_ID2[$i]; $arAnswer = CFormResult::GetDataByID( $RESULT_ID, array(), $arResult, $arAnswer2 ); echo $arAnswer2['SQV_NAME'][1]['USER_TEXT']; echo '<br />'; $i++; } |
- каждый раз делается запрос к базе
- нельзя отфильтровать анкеты по какому либо полю
как оптимизировать данный код? или я использую не те классы?