php - 使用 php 和 mysql 从多个数组表单输入插入数据

标签 php html mysql

我有三个字段

<textarea rows="2" name="answer[]" ></textarea>
<select name="fraction[]">...
<textarea rows="2" name="feedback[]"></textarea>

用户应多次填写此字段,至少四次 然后我使用 php 循环遍历此字段以将其插入数据库

$answer = isset($_POST['answer']) ? $_POST['answer'] : "" ;
$fraction = isset($_POST['fraction']) ? $_POST['fraction'] : "" ;
$feedback = isset($_POST['feedback']) ? $_POST['feedback'] : "" ;

foreach($answer as $key=>$value){
    $answer = $value;
    $fraction = $fraction[$key];
    $feedback = $feedback[$key];
    $query = "insert into `question_answer` ( answer, fraction, feedback) values ('$answer', '$fraction','$feedback')";
    $questions->insertData($query,$con);
}

此插入记录数,第一条记录包含我想要的所有值,但其他记录仅包含与我循环遍历的数组相关的字段的值,其他字段为空..有帮助吗? p>

最佳答案

你在第一个循环中覆盖你的变量...采取这个:

$answer = isset($_POST['answer']) ? $_POST['answer'] : "" ;
$fraction = isset($_POST['fraction']) ? $_POST['fraction'] : "" ;
$feedback = isset($_POST['feedback']) ? $_POST['feedback'] : "" ;

foreach($answer as $key=>$value){
    $query = "insert into `question_answer` ( answer, fraction, feedback) values ('$value', '$fraction[$key]','$feedback[$key]')";
    $questions->insertData($query,$con);
}

关于php - 使用 php 和 mysql 从多个数组表单输入插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35985375/

相关文章:

php - 从 MySQL 数据库输出数组...如何在 PHP 中删除方括号和双引号?

javascript - 选中复选框时提交表单并使用 POST 获取数据

java - 如何启动 javascript 脚本并从 java 传递 DOM 元素,同时拥有纯 html?

html - li 内的可点击图标和文本

PHP MYSQL INSERT 不再有效

mysql - 仅当表 1 中存在类似记录时才插入表 2

javascript - 通过 Javascript 从 PHP 保存到服务器端文件

php-casperjs 获取内部文本

javascript - 在没有服务器的情况下将 XML 导入 HTML

mysql - vb.net 代码可以在本地运行,但不能在 Web 服务器上运行