基本上,我有一个表格,可以在有人填写此表格之前根据“部门”输入生成一定数量的“出版物类型”。(可识别的部门特定出版物类型。)每种出版物类型都有几个字段......(它们是相同的字段,所以每种类型都有......比如说3个字段......)我有一个循环读取此数据并将其放入数据库。但是,如果其中一个字段未填写,则该特定字段的值将被完全跳过,从而丢弃数据输入。
示例:用户有三个字段,这三个字段重复了 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>