Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何在php中处理动态表单_Php_Forms_Dynamic Forms - Fatal编程技术网

我们如何在php中处理动态表单

我们如何在php中处理动态表单,php,forms,dynamic-forms,Php,Forms,Dynamic Forms,新手又问了一个问题。任何帮助都将不胜感激假设我们有一个表格,我们在表格中写下了一个用户的名字,在表格前面有一个输入框,我们可以在其中为提到的用户分配分数。在这种情况下,一切都很清楚。我们有一个名为user的表单(值为'id')和另一个变量,即grade',发布到php操作页面。因此,在php操作页面中,我通过POST获得两个变量,一个是用户id,另一个是分配的等级。这里,一切都很清楚,过程也很简单,因为我只有两个定义的变量。现在,假设我们正在将“用户”表中的用户列表动态插入表单中。我们用从数据库

新手又问了一个问题。任何帮助都将不胜感激假设我们有一个表格,我们在表格中写下了一个用户的名字,在表格前面有一个输入框,我们可以在其中为提到的用户分配分数。在这种情况下,一切都很清楚。我们有一个名为user的表单(值为'id')和另一个变量,即grade',发布到php操作页面。因此,在php操作页面中,我通过POST获得两个变量,一个是用户id,另一个是分配的等级。这里,一切都很清楚,过程也很简单,因为我只有两个定义的变量。现在,假设我们正在将“用户”表中的用户列表动态插入表单中。我们用从数据库中抓取的10个用户填写表单。在它们前面有输入框,用于插入“等级”。到目前为止,一切都很好。但问题在于下一阶段问题是,我不知道如何要求php action page进行插入,也就是说,只要有用户发布的变量,就在数据库中为特定用户插入分数。这里我有几十个用户和几十个动态变量。如果问题有点模糊,请原谅;然而,请尽你最大的努力让我摆脱这种困惑。非常感谢

下面是一些代码,让问题更清楚一点。 我从以下代码开始:


只要将变量命名为数组即可-如果表单如下所示

<form method="POST">
  <input type="text" name="grade[12]">
  <br>
  <input type="text" name="grade[15]">
  <br>
  <input type="text" name="grade[7]">
  <br>
  <input type="text" name="grade[21]">

  <!-- continue here -->
</form>
if(is_array($_POST['grade'])) foreach($_POST['grade'] as $id => $value)
{
  // REPLACE INTO user_grades(user_id, grade) VALUES($id, $value)
}
更新 你还应该在输入字段的名称中输入你学生的ID,否则你就不知道哪个学生是给定的分数

<?php
foreach ($students as $student) {
    echo '<tr>';
    echo '<td>'.$student['name'].'</td>';
    echo '<td><input type="text" name="grade['.$student['id'].']" class="form-control omit-radius-input" value="'.$student['current_grade'].'"></td>';
    echo '<tr>';
}
?>


foreach
显示在我的原始答案中。

只要将变量命名为数组-如果您的表单如下所示

<form method="POST">
  <input type="text" name="grade[12]">
  <br>
  <input type="text" name="grade[15]">
  <br>
  <input type="text" name="grade[7]">
  <br>
  <input type="text" name="grade[21]">

  <!-- continue here -->
</form>
if(is_array($_POST['grade'])) foreach($_POST['grade'] as $id => $value)
{
  // REPLACE INTO user_grades(user_id, grade) VALUES($id, $value)
}
更新 你还应该在输入字段的名称中输入你学生的ID,否则你就不知道哪个学生是给定的分数

<?php
foreach ($students as $student) {
    echo '<tr>';
    echo '<td>'.$student['name'].'</td>';
    echo '<td><input type="text" name="grade['.$student['id'].']" class="form-control omit-radius-input" value="'.$student['current_grade'].'"></td>';
    echo '<tr>';
}
?>


foreach
显示在我的原始答案中。

我可以说这个网站上的大多数人都希望看到一些代码。亲爱的Mikey,我不知道如何完成这项任务。这就是为什么我没有想出任何代码。无论如何,我认为伊沃·盖洛夫和伊万看起来更宽容。我希望他们两个都好。如果说这个网站上的大多数人都希望看到一些代码,我不会错的。亲爱的Mikey,我不知道如何完成这项任务。这就是为什么我没有想出任何代码。无论如何,我认为伊沃·盖洛夫和伊万看起来更宽容。我祝他们俩都好。是的。使表单元素在$\u POST中显示为数组。然而。。。请注意,如果HTML表单中没有值,则不会发送元素,因此如果输入的内容不止一个(当我在学期末评分时,如果是D或F,我必须输入成绩和学习的最后一天),请确保在输入之前验证您是否拥有所有必需的数据位,否则,请报告错误并重新提示用户,以获取数百万的感谢。你做得很好。佩妮现在摔倒了。你救了我一天。祝你万事如意,兄弟。我想为伊沃·盖洛夫和伊万织一条感谢的毯子。我很感激。如果这已经回答了你的问题-非常欢迎你将这个答案标记为“已接受”。亲爱的伊沃,确实如此。我对这个问题稍加修改,使之更清楚。请你看一下,帮我解决这个问题。对于“已接受”的标记,我很抱歉。Stackoverflow不允许我这样做,因为我的声誉低于15:((是的。让你的表单元素在$_POST中看起来像数组。但是……请注意,如果HTML表单中没有值,那么如果输入了多个内容,则不会发送该元素(当我在学期末评分时,如果是D或F,我必须输入成绩和学术工作的最后一天)请务必在输入之前确认您拥有所有所需的数据位,否则报告错误并重新请求用户输入数百万次感谢。您做得很好。Penny掉了。您救了我一天。祝您一切顺利,兄弟。我想向Ivo Gelov和Ivan编织一张感谢的毯子。我很感激。如果这回答了y我们的问题-非常欢迎您将此答案标记为“已接受”。确实如此,亲爱的IVO。我对问题进行了一点编辑,以使其更清楚。请您看一看,并帮助我解决更多问题。对于标记为“已接受”,我很抱歉。Stackoverflow不允许我这样做,因为我的声誉低于15:((