0

手順 :
1) データベースからレコードを選択

2) html テキストボックスにレコードを割り当てる

3) テキストボックスのユーザー変更値

4) ユーザーは「保存」html ボタンをクリックします。

5) フォーム送信メソッド="投稿" アクション="現在のページ"

6) テキストボックスから値を取得する

7) データベーステーブルのレコードを更新する

説明 : フォームの送信後にページが更新されるため、データベースを更新する前にデータベースからのレコードの選択が行われます。これが、html テキストボックスが最新のレコードを取得できない理由です。フォームが送信された後、最新のレコードをテキストボックスに割り当てるにはどうすればよいですか?

手順 5 を実行すると、ページが更新されます。したがって、ステップ 1 と 2 はステップ 7 の前に実行されるため、ステップ 3 のテキストボックスは最新のレコードを取得できません。ステップ 1 の前にステップ 7 を実行するにはどうすればよいですか?

問題は解決しました。ステップ 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

最新の行の一意の識別子を一時的にセッションに保存する必要があります。テーブルがソートによって達成できる方法でソートされていない場合は、これが最も簡単な方法です。たとえば、「inserted_time」列に NOW() 値を追加してソートし、最新のものを取得します。

于 2012-05-18T18:11:39.267 に答える
0

私が完全に理解しているかどうかはわかりませんが、mysql_insert_id()役立つと思います。

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

データをデータベースに保存したら、最後の ID を取得して新しいクエリで使用します。

于 2012-05-18T18:14:39.243 に答える