首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php表单仅保存最后一个输入字段值。

php表单仅保存最后一个输入字段值。
EN

Stack Overflow用户
提问于 2016-05-11 16:19:12
回答 2查看 268关注 0票数 0

我有一个简单的表“考试”,列id,标题和一个表单的可变数量的考试输入字段。

但是当提交表单时,最后一个值将被保存三次。

我认为这是因为具有相同值的$sql_insert语句。

如何更改在该$sql_insert语句中提交的不同值的代码?

代码语言:javascript
复制
echo '<form action="" method="post">';
    for ($i = 1; $i <= $student['passed_exams']; ++$i) {
        echo '<label>Exams '.$i.' :</label>';
        echo '<input type="text" id="id['.$i.']" name="title" placeholder="passed Exam" />';
        echo '<br />';
    }
echo '<input type="submit" value=" Submit " name="submit" /></form>';

if (isset($_POST['submit'])) {
    for ($i = 0; $i < $student['passed_exams']; ++$i) {
      $sql_insert = "INSERT INTO exams (title) VALUES ('".$_POST['title']."')";
      $dbConnection->query($sql_insert);
    }
    $dbConnection->close();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-11 16:24:59

Php需要名称作为数组

代码语言:javascript
复制
echo '<form action="" method="post">';
    for ($i = 1; $i <= $student['passed_exams']; ++$i) {
        echo '<label>Exams '.$i.' :</label>';
        echo '<input type="text" id="id['.$i.']" name="title['.$i.']" placeholder="passed Exam" />';
        echo '<br />';
    }
echo '<input type="submit" value=" Submit " name="submit" /></form>';

if (isset($_POST['submit'])) {
    for ($i = 0; $i < $student['passed_exams']; ++$i) {
      $sql_insert = "INSERT INTO exams (title) VALUES ('".$_POST['title'][$i]."')";
      $dbConnection->query($sql_insert);
    }
    $dbConnection->close();
}
票数 2
EN

Stack Overflow用户

发布于 2016-05-11 16:25:42

首先,您需要将标题数组作为

代码语言:javascript
复制
 name="title['.$id.']"

那么你必须把它保存为

代码语言:javascript
复制
$_POST['title'][$id]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37168215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档