Я использую ColdFusion 9.1. Я кодирую с использованием CFSCRIPT.
Я создаю тест. Запрос один пойдет получить изображение человека и человека человека на изображении. Это будет правильный ответ. Второй запрос достанется двум другим людям, которых нет на картинке. Я хочу поместить это в массив, а затем отсортировать массив так, чтобы правильный ответ не всегда находился сверху, снизу или посередине.
Вот мой псевдо SQL:
QUERY ONE NAME = GET CORRECT ANSWER
SELECT TOP 1 ImageID, PersonID, FirstName, LastName
FROM IMAGES
QUERY TWO NAME = GET TWO INCORRECT ANSWERS
SELECT TOP 2 PersonID, FirstName, LastName
FROM IMAGES
WHERE ImageID IS NOT THE CORRECT ANSWER
Я «думаю», что хочу, чтобы мой массив выглядел так:
PersonID="1234";
FirstName="Bob";
LastName="Jones";
Мне нужно пройтись по каждому запросу и заполнить этот массив тремя людьми, возвращенными из запроса. Вот так, но этот код не работает:
<cfscript>
PersonArray = arrayNew(1);
for (i = 1; i lte GetTwoWrong.RecordCount; i++) {
Person = structNew();
Person.PersonID = GetTwoWrong.PersonID[i];
Person.FirstName = GetTwoWrong.FirstName[i];
Person.LastName = GetTwoWrong.LastName [i];
PersonArray = arrayAppend(PersonArray , Person);
}
</cfscript>
Затем мне нужно отсортировать массив по FirstName, LastName или PersonID, чтобы создать произвольную случайность.
<cfscript>
PersonArray = arraySort(PersonArray numeric);
</cfscript>
Тогда мне нужно будет вывести ответы. Ответ будет кликабельным. При нажатии я отправлю PersonID через jQuery, чтобы проверить правильность ответа (и сохранить выбор).
Итак, как мне создать массив, а затем заполнить его из двух разных запросов и затем отсортировать? Должен ли я использовать массив вообще? Структура?