0

步骤:
1)从数据库中选择记录

2)将记录分配给html文本框

3)文本框中的用户更改值

4) 用户单击“保存”html 按钮。

5) 表单提交方法="post" action="current-page"

6)从文本框中获取值

7) 更新数据库表中的记录

解释:表单提交后页面刷新,所以从数据库中选择记录是在更新数据库之前发生的,这就是为什么 html 文本框无法获取最新记录的原因。提交表单后如何将最新记录分配给文本框?

执行第 5 步时,页面将刷新。所以第 1 步和第 2 步将在第 7 步之前执行,这就是第 3 步的文本框无法获取最新记录的原因。如何使步骤 7 在步骤 1 之前发生?

问题解决了。我只是将步骤 7 的代码上移到步骤 1 的顶部。

4

3 回答 3

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
}
于 2012-05-18T18:21:57.913 回答
0

我不完全确定我理解,但我认为mysql_insert_id()可能会有所帮助。

http://www.php.net/manual/en/function.mysql-insert-id.php

将数据保存到数据库后,获取最后一个 id 并在新查询中使用它。

于 2012-05-18T18:14:39.243 回答
0

您应该在会话中临时存储最新行的唯一标识符。这是最简单的方法,如果您的表没有按照您可以通过排序来实现它的方式进行排序 - 比如添加一个带有 NOW() 值的“inserted_time”列并按此排序,获取最新的。

于 2012-05-18T18:11:39.267 回答