- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为已毕业的大学毕业生进行一项调查,以根据他们的毕业后计划填写。我不确定如何重置或清除更新页面的特定字段。
pg1.cfm,用户使用学生ID登录。多个字段是根据与其 ID 相关的数据自动填充的,例如专业和 GPA。
pg2.cfm,用户回答了一系列有关其毕业后计划的问题。根据他们对第一个问题的回答显示不同的问题。如果问题已得到解答,则会出现一个简介,指导用户在 update.cfm 上更新他们的计划。
pg3.cfm,使用 pg2.cfm 的答案更新数据库,并询问更多有关实习机会的问题。
update.cfm,显示了来自 pg2.cfm 的相同问题。按照目前的情况,update.cfm 将新响应附加到数据库字段,而不是替换现有答案。由于调查的性质 - 根据用户回答的问题字段集填写不同的字段 - 我认为最有效的方法是在提交表单时清除所有可能的基于问题的字段,然后重新填充它们有了新的答案。我只是不确定如何。
最佳答案
如果没有代码,真的很难提供帮助。当您询问有关代码的问题时,提供相关代码通常会很有帮助。
在继续之前,我也看到了保留旧答案的值(value),您可以绘制用户如何显示数据的图表。
如果您的表格采用简单格式
Answers
AnswerID | StudentID | Answer1 | Answer2 | ... | Answer10
提交 update.cfm 后,此代码将起作用
<cfquery...>
delete from Answers
where StudentID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.studentID#">
</cfquery>
<cfquery...>
insert into Answers(StudentID,Answer1,Answer2,...,Answer10)
values (<cfqueryparam cfsqltype="cf_sql_integer" value="#session.studentID#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.Answer1#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.Answer2#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.Answer10#">)
</cfquery>
(如果您没有使用 cfqueryparam
,则需要使用。它可以防止 SQL 注入(inject)。)
就我个人而言,我可能不会删除旧数据,我会对其进行日期标记并跟踪它,但这不是我的应用程序。
现在,更好的方法是使用三/五个表。它更复杂,但它是处理自定义答案的最佳方式和
Students (or users table, whatever you call it)
StudentID, Name, Zipcode ...
Questions
QuestionID | QuestionSetID | QuestionText
----[sample data]------------------------
1 | 1 | What is your age
2 | 1 | How quickly do you expect to find a job in your field
Answers
AnswerID | StudentID | QuestionID | AnswerText
QuestionSetNames
QuestionSetID | QuestionSetName=
1 | "Psych Degree question set"
2 | "Computer Science question set"
首先,您将/可以创建一个问题集,因为正如您所说,您根据提供的输入提供不同的问题。
问题不必是问题集所特有的。您可以在任何问题集中包含任何问题。
因此,通过问题表中的问题,您可以决定要问某人的问题集。并像这样查询它
<cfquery...name="GetQuestions">
select * from Questions
where QuestionSetID = <cfqueryparam cfsqltype="cf_sql_integer" value="#setID#">
</cfquery>
<form...><cfoutput><input type="hidden" name="Questions" value="#valuelist(GetQuestions.QUestion)#"></cfoutput>
<cfoutput query="GetQuestions">
#QuestionText#:<br />
<input type="text" name="AnswerForQ_#questionID#"...>
</cfoutput></form>
处理它
<cfloop list="#form.Questions#" index="i">
<cfquery...>
delete from Answers
where StudentID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.studentID#">
</cfquery>
<cfquery...>
INSERT INTO Answers(StudentID,QuestionID,AnswerText)
values(<cfqueryparam cfsqltype="cf_sql_integer" value="#session.studentID#">,
<cfqueryparam cfsqltype="cf_sql_integer" value="#i#">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="#form["AnswerForQ_#i#"]#">)
</cfquery>
</cfloop>
然后您可以使用以下方式查询
<cfquery name="GetAnswers">
select QuestionText,AnswerText from Answers,Questions
where StudentID = <cfqueryparam cfsqltype="cf_sql_integer" value="#session.studentID#">
and Answers.AnswerID = Questions.QuestionID
</cfquery>
<cfoutput>#QuestionText#: #AnswerText#<br /></cfoutput>
您仍然需要编写大量代码,主要是用于添加问题/问题集的管理能力。
您可以向 Answers 表添加时间戳(同一提交的所有答案都将共享),也可以创建一个中间 AnswerSheets 表来保存时间戳并向 Answers 添加相应的 AnswerSheetID。
这可能看起来需要多做一些工作,但当您尝试添加问题集或者尝试分析数据时,它确实会带来返回。另外,一旦到位,其他人就可以对其进行管理。所以现在的工作多,以后的工作少。
关于mysql - ColdFusion:如何清除数据库行中的特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474521/
我有一个网站,我正在通过学校参加比赛,但我在清除 float 元素方面遇到了问题。 该网站托管在 http://www.serbinprinting.com/corey/development/
我有一个清除按钮,需要使用 JQuery 函数清除该按钮单击时的 TextBox 值(输入的)。 最佳答案 您只需将单击事件附加到按钮即可将输入元素的值设置为空。 $("#clearButton").
我们已经创建了一个保存到 CoreData 然后同步到 CloudKit 的 iOS 应用程序。在测试中,我们还没有找到一种方法来清除应用程序 iCloud 容器中的数据(用于用户私有(private
这是一个普遍的问题,也是我突然想到并且似乎有道理的问题。我看到很多人使用清除div 并且知道这有时不受欢迎,因为它是额外的标记。我最近开始使用 因为它接缝代表了它的实际用途。 当然都引用了:.clea
我有两个单选按钮。如果我检查第一个单选按钮下面的数据将填充在组合框中。之后我将检查另一个单选按钮,我想清除组合框值。 EmployeeTypes _ET = new EmployeeTypes(
我一直在玩 Canvas ,我正在尝试制作一个可以移动和跳跃的正方形,移动部分已经完成,但是跳跃部分有一个问题:每次跳跃时它都会跳得更快 here's a jsfiddle 这是代码: ///////
我该如何在 Dart 上做到这一点? 抓取tbody元素后,我想在其上调用empty(),但这似乎不存在: var el = query('#search_results_tbody'); el.em
我需要创建一个二维模拟,但是在设置新的“框架”时,旧的“框架”不会被清除。 我希望一些圆圈在竞技场中移动,并且每个循环都应删除旧圆圈并生成新圆圈。一切正常,但旧的没有被清除并且仍然可见,这就是我需要改
无论我使用set statusline将状态行更改为什么,我的状态行都不会改变。看起来像 ".vimrc" 39L, 578C
在 WPF 应用程序中,我有一个 ListView 绑定(bind)到我的 ViewModel 上的一个 ObservableCollection。 在应用程序运行期间,我需要删除并重新加载集合中的所
我有一个大型程序,一个带有图形的文本扭曲游戏。在我的代码中的某处,我使用 kbhit() 我执行此代码来清除我的输入缓冲区: while ((c = getchar()) != '\n' && c !
我正在将所有网站的页面加载到主索引页面中,并通过将 href 分成段并在主域名后使用 .hash 函数添加段来更新 URL 显示,如下所示: $('a').click(function(event)
我有一个带有 的表单和 2 控件来保存和重置表单。我正在触发 使用 javascript __doPostBack()函数并在其中传递一个值 __EVENTARGUMENT如果面板应该重置。 我的代
我目前有一堆 UIViewController,每个都是在前一个之上呈现的模式 ViewController。我的问题是我不需要一堆 UIViewController,我只需要最后一个。因此,当出现新
我在一个类中有一些属性方法,我想在某个时候清除这个属性的缓存。 示例: class Test(): def __init__(self): pass @property
在此Test Link我试图将标题和主站点导航安装到博客脚本的顶部。 我清除:两者;在主要网站脚本上工作,但现在把所有东西都扔到了一边。尝试了无数次 fixex 都没有成功!提前感谢 Ant 指点解决
我似乎无法正确清除布局。看this 我无法阻止左栏中的元素向下推右栏中的元素。谁能帮忙? Screenshot with some pointy arrows (死链接) 最佳答案 问题标记/样式似
我希望能够在某个类 (sprite-empos) 之后清除 '' 中的内容,想知道是否有不添加任何新类或不使用 js 的方法(我在下面尝试过不工作)? 为了明确它是“985”,我想在某个视口(view
我想清除ptr_array boost::ptr_array a; ... a.clear(); // missing 如何清理 ptr 容器? 最佳答案 它应该表现得像一个数组,您不能在 C++
这是我使用多 map 制作的一个简单的事件系统;当我使用 CEvents::Add(..) 方法时,它应该插入并进入多重映射。问题是,当我触发这些事件时, multimap 似乎是空的。我确定我没有调
我是一名优秀的程序员,十分优秀!