По сути, у меня есть форма, которая генерирует определенное количество «типов публикаций» в зависимости от ввода «отделов», прежде чем кто-то заполнит эту форму. (Распознаваемые типы публикаций для конкретных отделов.) Есть пара полей, которые идут с каждым типом публикации... (это одни и те же поля, поэтому каждый тип будет иметь... скажем, 3 поля..) У меня есть цикл, который считывает эти данные и помещает их в базу данных. Однако, если одно из полей не заполнено, значение для этого конкретного поля полностью пропускается, что отбрасывает ввод данных.
Пример: у пользователя есть три поля, и эти три поля повторяются три раза. Пользователь заполняет три в первой строке, два во второй строке и еще раз три в третьей строке. Так:
- Первый массив полей: 1, 1, 1
- Массив второго поля: 1, 1
- Массив третьего поля: 1, 1, 1
Мне нужно найти способ пометить это пустое поле во втором массиве полей, чтобы оно появилось в списке. Я мог бы установить значения по умолчанию для полей, но кто-то может легко удалить эти данные, а в полях имени/названия было бы безвкусно иметь «Нет» или что-то в этом роде...
Любые идеи?
Редактировать: Фрагмент кода (Примечание: я вырезал все неважные элементы стиля...)
<cfoutput query = "getType_PUB">
Publications: #rName# <br />
<input type = "hidden" name = "scholarActivities" value = "#rName#" />
<input type="text" name="inpress09" size = "8"/><br />
<input type="text" name="published09" size = "8"/><br />
<input type="text" name="published08" size = "8"/><br />
<input type="text" name="published07" size = "8"/><br />
</cfoutput>
<cfoutput><input type = "hidden" name = "recordcountPub" value = "#getType_PUB.recordcount#" /></cfoutput>
//////////////DB/////////////
<cfif #form.recordcountPUB# EQ 1>
<cfquery name = "insertSActivities" datasource="cas_evaluation">
INSERT INTO scholar_publications (faculty, scholarActivities, submit09, inpress09, published09, published08, published07)
VALUES ( '#form.name#', '#form.scholarActivities#', '#form.submit09#', '#form.inpress09#', '#form.published09#', '#form.published08#', '#form.published07#')
</cfquery>
<cfelse>
<cfloop from="1" to="#form.recordcountPUB#" index="i">
<cfquery name = "insertSActivities" datasource="cas_evaluation">
INSERT INTO scholar_publications (faculty, scholarActivities, submit09, inpress09, published09, published08, published07)
VALUES ( '#form.name#', '#ListGetAt(form.scholarActivities, i, ',')#', '#ListGetAt(form.submit09, i, ',')#', '#ListGetAt(form.inpress09, i, ',')#', '#ListGetAt(form.published09, i, ',')#', '#ListGetAt(form.published08, i, ',')#', '#ListGetAt(form.published07, i, ',')#')
</cfquery>
</cfloop>
</cfif>