gpt4 book ai didi

php - 通过PHP将HTML表单数据插入mySQL(表单数组因表行数而异)

转载 作者:行者123 更新时间:2023-11-29 12:35:01 24 4
gpt4 key购买 nike

我有一个 HTML 表单,用户可以在其中选中最多 50 个不同的问题。他们必须勾选最少 1 个问题,最多 50 个问题。

他们提交表单后,我需要将数据 (form_array) 插入到我的 mySQL 表问题中。该表包含 50 个问题 行(请参见下面的问题表 例如)。

我知道 INSERT INTO 'questions' (question1, Question2, Question3, Question4,....question50) VALUES (value1, value2, value3...),但我的挑战是由于表单中检查的问题(值)的数量可能有所不同,我不知道如何将 form_array 插入到我的 questions 表中。

问题将作为 truefalse 插入 form_array 中,具体取决于它们是否在 html 表单中标记或未标记。

除了 50 个问题外,问题表还有一个主自动递增 ID 和 2 个外键。

我欢迎所有有关如何在上述场景中插入数组的建议/示例?

问题表格将如下所示:

  `question1` tinyint(1) NOT NULL,
`question2` tinyint(1) NOT NULL,
`question3` tinyint(1) NOT NULL,
`question4` tinyint(1) NOT NULL,
`question5` tinyint(1) NOT NULL,
`question6...etc etc...up to 50 questions

最佳答案

我认为您想要存储 50 个问题的答案,对吧?

首先,您的表结构应该如下所示:

questions
---------
id: primary key, int(11), auto increments
question/title: varchar(255)

answers
-------
id: primary key, int(11), auto increments
question_id: int(11)
answer: tinyint(1)

这是棘手的部分。显示问题(我使用 mysqli,因为我不知道你在使用什么):

$result = $mysqli->query("SELECT * from questions");

while ($question = $result->fetch_assoc()) {
print 'Question: ' . $question['title'];
print '<input type="hidden" name="answers[]['question_id']" value="' . $question['id'] . '">';
print '<input type="radio" name="answers[]['answer']" value="1"> Yes';
print '<input type="radio" name="answers[]['answer']" value="0"> No';
}

现在,当用户提交他的答案时:

if(isset($_POST['submit'])) {
$answers = $_POST['answers'];

if(count($answers) > 1) {

//Loop through all the answers
foreach($answers as $answer) {
$mysqli->query("INSERTO INTO answer ('question_id', 'answer') VALUES ('{$answer['question_id']}', '{$answer['answer']')"); //Insert the answers one by one
}

} else {
print 'You need to submit at least one answer!'
}

}

我还没有测试过代码。这仍然是非常基本的,但我认为这正是您所需要的......:-)。

关于php - 通过PHP将HTML表单数据插入mySQL(表单数组因表行数而异),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26912893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com