我有一个表单,在通过POST提交后,需要根据字段插入两个单独的表中。每个字段都需要添加为自己的行。
想象一下调查;总共有四个部分。对于节中的每个问题,用户选择1到5之间的值。每个节的底部还有一个可选的注释文本区域。
每个问题在“问题”表中的数据库中都有自己的唯一ID。这些问题包含它所属的部分(“部分”表)的ID以供参考。
问题1:
如何将每个答案作为自己的行插入名为“答案”的表格中并附上问题的ID?
“答案”的结构如下:
id(AI)| question_id |值(用户提交,1-5)| RESPONSE_ID
问题2:
如何将每个部分的每个音符插入一个名为“notes”的表格中,并带有每个部分的ID?
“笔记”的结构如下:
id(AI)| section_id |值(用户提交)| RESPONSE_ID
Response_id是将用户的响应插入名为“响应”的表中的结果ID。该表将它们联系在一起,以输出每个用户提交的响应的结果。
提前致谢。
答案 0 :(得分:1)
你可以做这样的事情。你说你有每个问题的问题ID,所以当用户选择答案给这样的每个问题命名时
name = "question[<?php echo $question_id ?>]"
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
不仅仅是简单的名字。当用户提交它时,将整个问题[$ ids]数组循环遍历每个id并使用问题ID插入到答案表中。你需要进行一些数组操作。
对于Notes,您只需在名称字段中使用section id并正常插入数据库。
答案 1 :(得分:1)
您可能希望使用数组来跟踪所需的ID。 您的HTML块应该看起来像:
<h3>Question '.$questionId.': Your question title here</h3>
<input type="hidden" name="question_id" value="'.$questionId.'" /> //Not necessary, but just to show you that a hidden field can be useful too
<input type="text" name="answer['.$questionId.']" />
然后你只需将$ _POST数据用作常规数组,在for循环或大查询中(根据你正在处理的字段/数据的数量,性能会更好)。
此帖中有关多维数组的更多信息:Submitting a multidimensional array via POST with php