Php 循环表单以更新SQL数据库

Php 循环表单以更新SQL数据库,php,mysql,sql,Php,Mysql,Sql,我正在构建一个页面,它写出不同数量的类别,然后在每个类别下写出与该类别相关的单位。每个类别部分都是一个单独的表单,其中包含重复的字段,并根据它们所属的行进行命名。布局如下: 第一类 第1单元更新字段 第2单元更新字段 第三单元更新字段 类别1的提交按钮 等等 每个字段的名称相同,末尾添加了单位编号: 特征1、特征2、特征3等 给定类别中的总行数保存在变量$id#中,其中#是类别的id(例如:$id1、$id2、$id3等) 我已经把大部分问题解决了。但是,如果表单已更改,我希望循环并执行

我正在构建一个页面,它写出不同数量的类别,然后在每个类别下写出与该类别相关的单位。每个类别部分都是一个单独的表单,其中包含重复的字段,并根据它们所属的行进行命名。布局如下:

第一类

  • 第1单元更新字段
  • 第2单元更新字段
  • 第三单元更新字段
类别1的提交按钮

等等

每个字段的名称相同,末尾添加了单位编号:

  • 特征1、特征2、特征3等
给定类别中的总行数保存在变量$id#中,其中#是类别的id(例如:$id1、$id2、$id3等)

我已经把大部分问题解决了。但是,如果表单已更改,我希望循环并执行SQL查询,而这正是我遇到问题的地方。在这一点上,我不知所措。以下是我的代码的简化版本:

if (isset($_POST['submit'])) {
    $form = $_POST['form']; //save which category we're on in a variable.
    for ($i = 1; $i <= ${id.$form}; $i++) { //I think the problem is here
        $Feature = $_POST['Feature'.$i];
        $update = "UPDATE Units
               SET Feature ='$Feature'
               WHERE ID='$i'";

        if (($Feature!=${initialFeature.$i})) {
                    $updateQuery = mysqli_query($dbc, $update); 
        }
    }
}
if(isset($\u POST['submit'])){
$form=$\u POST['form'];//在变量中保存所属类别。

对于($i=1;$i而言,我的方法是在字段名中使用数组

<input type="text" name="id[]" value="$foo">

然后在表单的操作页面上

$id = $_POST['id'];
for($i=0;$i<sizeof($id),$i++){
   ...//do something here using $id[$i] to select elements in the array
}
$id=$\u POST['id'];
对于($i=0;$i试试这个

for($i=0; $i<3; $i++)
    echo '<input type="text" name="feature[]" value=""/>';
echo '<input type="submit" name="go" value="submit">';

if (isset($_POST['go'])) {
    $feature = $_POST['feature'];
    if(is_array($feature)){
        for ($i = 1; $i <= count($feature); $i++) {
            $update = "UPDATE Units
               SET Feature ='$feature[$i]'
               WHERE ID='$i'";
               $updateQuery = mysqli_query($dbc, $update); 
        }
    }else{
            $update = "UPDATE Units
               SET Feature ='$feature'
               WHERE ID='$i'";
               $updateQuery = mysqli_query($dbc, $update); 
    }

}

对于($i=0;$i谢谢你,这正是我再次行动所需要的!我真的很感激!非常感谢你的帮助!