请勿以这种方式使用会话。添加一个单独的隐藏输入框,以将ID发送到服务器进行处理。
<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循环显示我的数据库表”
每行都有ID
/LENGTH
/NAME
/VALUE
/INPUT
/ BUTTON
。
我从用户那里获得了一个值,我想将它与该值添加到同一行中,然后更新我的数据库表。
获取方法/显示/会话和更新已完成,但是当我填写输入字段时,结果保存在最后一个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
更新您要更改的行。
[如果需要,在处理提交的表单时仍可以设置会话值。
当然,您要重写,换句话说,您正在每个循环上更新$ _SESSION ['value']的属性。 https://www.php.net/manual/en/reserved.variables.session.php
您可以做类似的事情
$_SESSION[$your_custom_name] = $row[...];
请勿以这种方式使用会话。添加一个单独的隐藏输入框,以将ID发送到服务器进行处理。
当然,您要重写,换句话说,您正在每个循环上更新$ _SESSION ['value']的属性。 https://www.php.net/manual/en/reserved.variables.session.php