While 循环中的会话 PHP

Session in While Loop PHP

<form action="includes/xxx.php"  method="get">
                <td><?php echo $row['id']; 
                        $_SESSION['id'] = $row['id'];
                ?> 
                    </td>

                <td><?php echo $row['length']; ?></td>
                <td><?php echo $row['name']; ?></td>
                <td><?php echo $row['value'];
                    $_SESSION['value'] = $row['value'];
                ?>
                    </td> 

                <td><input type="text" name="value" placeholder="XXX"></td> 

                <td><button type="submit" name="submit" value="submit">  OK </button> </td>
            </form>

在上面的代码中,我用 while 循环

显示我的数据库 table

每行有ID/LENGTH/NAME/VALUE/INPUT/BUTTON.

我从用户那里得到一个值,我想将它与同一行中的值相加,然后更新我的数据库 table。

GET 方法/显示/SESSIONS 和更新已完成,但是当我填写输入字段时,结果保存在最后一个 id 中。

我知道我的代码覆盖了一些东西,它无法理解我填写的输入内容。

我该如何解决?

不要以这种方式使用会话。添加一个单独的隐藏输入框,将ID发送给服务器进行处理。

<td>
    <input type="hidden" name="row_id" value="<?php echo $row['id']; ?>">
    <input type="text" name="value" placeholder="XXX">
</td> 

现在当您提交表单时,您将有 2 个值,$_GET['row_id']$_GET['value']。使用 row_id 更新您要更改的行。

如果需要,您仍然可以在处理提交的表单时设置会话值。