步骤:
1)从数据库中选择记录
2)将记录分配给html文本框
3)用户更改文本框中的值
4)用户点击“保存”html按钮。
5)表单提交方法=“post”action =“current-page”
6)从文本框中获取值
7)数据库表中的更新记录
说明:页面在表单提交后刷新,因此在更新数据库之前就会从db中选择记录,这就是html文本框无法获取最新记录的原因。如何在提交表单后将最新记录分配给文本框?
执行步骤5时,页面将刷新。因此,步骤1和2将在步骤7之前执行,这就是为什么第3步的文本框无法获取最新记录的原因。如何在步骤1之前进行第7步?
问题解决了。我只是将第7步的代码移到第1步之上。
答案 0 :(得分:2)
将if条件放在同一页面上 如果提交表单,请更新查询 或者当页面加载时,您可以查询最新记录
$flag=0;
$submit=$_POST['submit'];
if($submit=="Yes") {
//update database with new value
}
else {
$flag=1;
//query latest value from DB
$latest=$row['latest'];
}
以html格式
<input type="text" value="<?php echo $latest; ?>" />
如果您不希望在提交后显示表单,请使用标记
if($flag) {
//print form
}
else {
// echo data entered
}
答案 1 :(得分:0)
您应该在会话中临时存储最新行的唯一标识符。这是最简单的方法,如果你的表没有按照你可以通过排序实现它的方式排序 - 比如添加一个带有NOW()值的“inserted_time”列并按其排序,得到最新的。
答案 2 :(得分:0)
我不完全确定我理解,但我认为mysql_insert_id()
可能有所帮助。
http://www.php.net/manual/en/function.mysql-insert-id.php
将数据保存到数据库后,获取最后一个ID并在新查询中使用它。