如何将单个字段静态数据和多个(字段)行动态数据从PHP表单插入MySQL数据库
****注**:我在这个网站上问了一个类似的问题,但我已经对最初的问题做了大量的编辑,我相信它可以作为一个新问题提交。虽然目标相同,但我正在变得更直接、简洁和清晰,以便有希望获得更多的回应** 我已经开始学习PHP和MySQL(完全的新手),并且我已经创建了一个包含问题和选项表的数据库,作为问答应用程序项目的一部分来帮助我学习 我试图通过PHP处理表单提交问题和选项来填充数据库如何将单个字段静态数据和多个(字段)行动态数据从PHP表单插入MySQL数据库,php,mysql,forms,Php,Mysql,Forms,****注**:我在这个网站上问了一个类似的问题,但我已经对最初的问题做了大量的编辑,我相信它可以作为一个新问题提交。虽然目标相同,但我正在变得更直接、简洁和清晰,以便有希望获得更多的回应** 我已经开始学习PHP和MySQL(完全的新手),并且我已经创建了一个包含问题和选项表的数据库,作为问答应用程序项目的一部分来帮助我学习 我试图通过PHP处理表单提交问题和选项来填充数据库 我在表单的问题部分有四行字段 第一行是元数据 下面的三行(每个以文本框结尾)表示要在数据库中输入的三个独立问题行 元
- 我在表单的问题部分有四行字段李>
- 第一行是元数据
- 下面的三行(每个以文本框结尾)表示要在数据库中输入的三个独立问题行
- 元数据行包含我希望在提交到数据库后填充三个问题行中相应列的数据李>
<div class="questinfo">
<div class="questmetadata">
<select name="questfield[0][subject_id]">
<option>BA</option>
<option>MY</option>
<option>PA</option>
<option>BB</option>
<option>CC</option>
<option>UA</option>
<option>HM</option>
<option>CG</option>
</select>
<input name="questfield[0][chapter_id]">
<input name="questfield[0][topic_id]">
<input name="questfield[0][is_active]">
<select name="questfield[0][type]">
<option>P</option>
<option>L</option>
</select>
<select name="questfield[0][level]">
<option>1<option>
<option>2 II<option>
<option>3<option>
</select>
</div>
<div class="questrow">
<input name="questfield[1][questid]">
<input name="questfield[1][numero]">
<textarea name="questfield[1][question]"></textarea>
</div>
<div class="questfield">
<input name="questfield[2][id]">
<input name="questfield[2][numero]">
<input name= "questfield[2][is_active]">
<textarea name="questfield[2][question]"></textarea>
</div>
<div class="questrow">
<input name="questfield[3][questid]">
<input name="questfield[3][numero]">
<textarea name="questfield[3][question]"></textarea>
</div>
我该怎么做?谢谢StackOverflow不是代码生成器;)你很难找到一个有病人的程序员来阅读所有的代码并制定整个解决方案。试着把你的问题分成更小、更“吸引人”的部分(对程序员来说是如此),以便更快地得到答案(或者永远得到答案)。一个很好的技巧是描述你的代码的作用,并消除所有不必要的代码和单词。我会在将来记住你的建议。谢谢。StackOverflow不是代码生成器;)你很难找到一个有病人的程序员来阅读所有的代码并制定整个解决方案。试着把你的问题分成更小、更“吸引人”的部分(对程序员来说是如此),以便更快地得到答案(或者永远得到答案)。一个很好的技巧是描述你的代码的作用,并消除所有不必要的代码和单词。我会在将来记住你的建议。非常感谢。
<div class="optionfield">
<input type="text" name ="optionfield[0][optid]">
<input type="text" name ="optionfield[0][choice]">
<input type="text" name ="optionfield[0][question_numero]">
<input type="checkbox" name ="optionfield[0][is_answer]">
</div>
<div class="optionfield">
<input type="text" name ="optionfield[1][optid]">
<input type="text" name ="optionfield[1][choice]">
<input type="text" name ="optionfield[1][question_numero]">
<input type="checkbox" name ="optionfield[1][is_answer]">
</div>
<div class="optionfield">
<input type="text" name ="optionfield[2][optid]">
<input type="text" name ="optionfield[2][choice]">
<input type="text" name ="optionfield[2][question_numero]">
<input type="checkbox" name ="optionfield[2][is_answer]">
</div>
<div class="optionfield">
<input type="text" name ="optionfield[3][optid]">
<input type="text" name ="optionfield[3][choice]">
<input type="text" name ="optionfield[3][question_numero]">
<input type="checkbox" name ="optionfield[3][is_answer]">
</div>
$optsql=" INSERT INTO
options
SET
optid=:optid,
question_numero=:question_numero,
choice=:choice,
is_answer=:is_answer,
answer_explanation=:answer_explanation";
$questsql=" INSERT INTO questions
SET
questid=:questid,
numero=:numero,
question=:question,
subject_id=:subject_id,
chapter_id=:chapter_id,
topic_id=:topic_id,
type=:type,
level=:level,
is_active=:is_active
";
$optstmt=$clsdb->prepare($optsql);
$queststmt=$clsdb->prepare($questsql);
foreach($_POST['optionfield'] as $optinput){
$optdata= array(
'optid'=>$optinput['optid'],
'question_numero'=>$optinput['question_numero'],
'choice'=>$optinput['choice'],
'answer_explanation'=>$optinput['answer_explanation'],
'is_answer'=>$optinput['is_answer']);
$optstmt->execute($optdata);
}
foreach($_POST['questfield'] as $questinput){
$questdata= array(
'questid'=>$questinput['questid'],
'numero'=>$questinput['numero'],
'question'=>$questinput['question'],
'subject_id'=>$questinput['subject_id'],
'chapter_id'=>$questinput['chapter_id'],
'topic_id'=>$questinput['topic_id'],
'type'=>$questinput['type'],
'level'=>$questinput['level'],
'is_active'=>$questinput['is_active']);
$queststmt->execute($questdata);
}