我有一个表单,在通过 POST 提交后,需要根据字段插入到两个单独的表中。每个字段都需要添加为自己的行。
想象一下一项调查;总共有四个部分。对于一个部分中的每个问题,用户选择一个 1 到 5 之间的值。每个部分的底部还有一个可选的注释文本区域。
每个问题在数据库的“问题”表中都有自己的唯一 ID。这些问题包含其所属部分的 ID(“部分”表)以供引用。
问题 1:
如何将每个答案作为其自己的行插入名为“answers”的表中并包含问题的 ID?
“答案”的结构如下所示:
id (AI) |问题 ID |值(用户提交,1-5)|响应ID
问题2:
如何将每个部分的每个注释插入名为“notes”的表中,并包含每个部分的 id?
“注释”的结构如下所示:
id (AI) |节号 |值(用户提交)|响应ID
Response_id 是将用户响应插入到名为“responses”的表中的结果 ID。该表将所有内容联系在一起,以输出每个用户提交的响应的结果。
提前致谢。
最佳答案
您可能想要使用数组来跟踪您需要的 id。 您的 HTML block 应该类似于:
<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.']" />
然后,您只需在 for 循环或大型查询中将 $_POST 数据用作常规数组(更好的性能取决于您正在处理的字段/数据量)。
有关多维数组的更多信息,请参阅本文:Submitting a multidimensional array via POST with php
关于PHP 将表单响应插入到单独的 MySQL 表/行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778311/