Документация для разработчиков
Темная тема

GetDataByID

Описание и параметры

array
CFormResult::GetDataByID(
	int result_id,
	array field,
	array &result,
	array &answer
)

Возвращает массив, описывающий значения ответов на вопросы или значения полей веб-формы для указанного результата. Помимо этого, метод возвращает массив, содержащий поля результата. Метод нестатический.

Формат массива, возвращаемого методом:

Array
(
	[символьный идентификатор вопроса 1] => массив описывающий ответы на вопрос 1
		Array
		(
			[0] => массив описывающий ответ 1
				Array
				(
					[RESULT_ID]           => ID результата
					[FIELD_ID]            => ID вопроса
					[SID]                 => символьный идентификатор вопроса
					[TITLE]               => текст вопроса
					[TITLE_TYPE]          => тип текста вопроса [text|html]
					[FILTER_TITLE]        => заголовок поля фильтра
					[RESULTS_TABLE_TITLE] => заголовок столбца таблицы результатов
					[ANSWER_ID]           => ID ответа
					[ANSWER_TEXT]         => параметр ответа ANSWER_TEXT
					[ANSWER_VALUE]        => параметр ответа ANSWER_VALUE
					[USER_TEXT]           => текст введенный с клавиатуры
					[USER_DATE]           => введенная дата (если FIELD_TYPE=date)
					[USER_FILE_ID]        => ID файла (если FIELD_TYPE=[file|image])
					[USER_FILE_NAME]      => имя файла
					[USER_FILE_IS_IMAGE]  => "Y" - FIELD_TYPE=image; "N" - FIELD_TYPE=file 
					[USER_FILE_HASH]      => хэш файла (если FIELD_TYPE=file)
					[USER_FILE_SUFFIX]    => суффикс к расширению файла (если FIELD_TYPE=file)
					[USER_FILE_SIZE]      => размер файла (если FIELD_TYPE=[file|image])
					[FIELD_TYPE]          => тип ответа
					[FIELD_WIDTH]         => ширина поля ответа
					[FIELD_HEIGHT]        => высота поля ответа
					[FIELD_PARAM]         => параметр поля ответа
				)
			[1] => массив описывающий ответ 2
			[2] => массив описывающий ответ 3
			...
			[N-1] => массив описывающий ответ N
		)
	[символьный идентификатор вопроса 2] => массив описывающий ответы на вопрос 2
	[символьный идентификатор вопроса 3] => массив описывающий ответы на вопрос 3
	...
	[символьный идентификатор вопроса N] => массив описывающий ответы на вопрос N
)

Параметры метода

Параметр Описание
result_id ID результата.
field Массив символьных идентификаторов вопросов или полей веб-формы, значения которых необходимо получить.
result Ссылка на массив полей результата, а также некоторых полей веб-формы и полей статуса. Структура данного массива:
Array
(
	[ID] => ID результата
	[TIMESTAMP_X] => время изменения результата
	[DATE_CREATE] => дата создания результата
	[FORM_ID] => ID веб-формы
	[USER_ID] => ID пользователя создавшего результат (автор)
	[USER_AUTH] => флаг авторизованности автора при создании результата [Y|N]
	[STAT_GUEST_ID] => ID посетителя создавшего результат
	[STAT_SESSION_ID] => ID сессии в которой был создан результат
	[STATUS_ID] => ID статуса в котором находится результат
	[STATUS_TITLE] => заголовок статуса в котором находится результат
	[STATUS_DESCRIPTION] => описание статуса в котором находится результат
	[STATUS_CSS] => имя CSS класса в котором находится результат
	[SID] => символьный идентификатор веб-формы
	[NAME] => заголовок веб-формы
	[IMAGE_ID] => ID изображения веб-формы
	[DESCRIPTION] => описание веб-формы
	[DESCRIPTION_TYPE] => тип описания веб-формы [text|html]
)
answer Ссылка на массив, описывающий значения ответов на вопросы или значения полей веб-формы для указанного результата result_id. Структура данного массива:
Array
(
	[символьный идентификатор вопроса 1] => массив описывающий ответы на вопрос 1
		Array
		(
			[ID ответа 1] => массив описывающий ответ 1
				Array
				(
					[RESULT_ID]           => ID результата
					[FIELD_ID]            => ID вопроса
					[SID]                 => символьный идентификатор вопроса
					[TITLE]               => текст вопроса
					[TITLE_TYPE]          => тип текста вопроса [text|html]
					[FILTER_TITLE]        => заголовок поля фильтра
					[RESULTS_TABLE_TITLE] => заголовок столбца таблицы результатов
					[ANSWER_ID]           => ID ответа
					[ANSWER_TEXT]         => параметр ответа ANSWER_TEXT
					[ANSWER_VALUE]        => параметр ответа ANSWER_VALUE
					[USER_TEXT]           => текст введенный с клавиатуры
					[USER_DATE]           => введенная дата (если FIELD_TYPE=date)
					[USER_FILE_ID]        => ID файла (FIELD_TYPE=[file|image])
					[USER_FILE_NAME]      => имя файла
					[USER_FILE_IS_IMAGE]  => "Y" - FIELD_TYPE=image; "N" - FIELD_TYPE=file 
					[USER_FILE_HASH]      => хэш файла (если FIELD_TYPE=file)
					[USER_FILE_SUFFIX]    => суффикс к расширению файла (FIELD_TYPE=file)
					[USER_FILE_SIZE]      => размер файла (если FIELD_TYPE=[file|image])
					[FIELD_TYPE]          => тип ответа
					[FIELD_WIDTH]         => ширина поля ответа
					[FIELD_HEIGHT]        => высота поля ответа
					[FIELD_PARAM]         => параметр поля ответа
				)
			[ID ответа 2] => массив описывающий ответ 2
			[ID ответа 3] => массив описывающий ответ 3
			...
			[ID ответа N] => массив описывающий ответ N
		)
	[символьный идентификатор вопроса 2] => массив описывающий ответы на вопрос 2
	[символьный идентификатор вопроса 3] => массив описывающий ответы на вопрос 3
	...
	[символьный идентификатор вопроса N] => массив описывающий ответы на вопрос N
)

Примеры использования

<?
$RESULT_ID = 189; // ID результата

$arAnswer = CFormResult::GetDataByID(
	$RESULT_ID, 
	array("VS_INTEREST"),  // вопрос "Какие области знаний вас интересуют?" 
	$arResult, 
	$arAnswer2);

// выведем поля результата
echo "<pre>"; print_r($arResult); echo "</pre>";

// выведем значения ответов
echo "<pre>"; print_r($arAnswer); echo "</pre>";

// выведем значения ответов в несколько ином формате
echo "<pre>"; print_r($arAnswer2); echo "</pre>";
?>
<?
$RESULT_ID = 189; // ID результата

// получим данные по всем вопросам
$arAnswer = CFormResult::GetDataByID(
	$RESULT_ID, 
	array(), 
	$arResult, 
	$arAnswer2);

// выведем поля результата
echo "<pre>"; print_r($arResult); echo "</pre>";

// выведем значения ответов
echo "<pre>"; print_r($arAnswer); echo "</pre>";

// выведем значения ответов в несколько ином формате
echo "<pre>"; print_r($arAnswer2); echo "</pre>";
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх