データベースからhtmlフォームに変数(価格)を設定しました。 ユーザーは価格を変更してフォームを送信し、変数はデータベースで更新されます。 前の値(最後の状態をフォームに表示する)を保持したいが、フォーム変数を更新すると更新が維持される。変数の過去の値を保持
変数の以前の値を(たとえば配列などで)覚えておくにはどうすればよいですか?
データベースからhtmlフォームに変数(価格)を設定しました。 ユーザーは価格を変更してフォームを送信し、変数はデータベースで更新されます。 前の値(最後の状態をフォームに表示する)を保持したいが、フォーム変数を更新すると更新が維持される。変数の過去の値を保持
変数の以前の値を(たとえば配列などで)覚えておくにはどうすればよいですか?
実際のデータベースでこのデータを更新する場合は、前の行の値を保持するパラレルテーブルを作成する必要があります。あなただけの配列を更新している場合
は、そうでなければ、あなたは直前のアレイを更新するコピーを作成することができます。http://codepad.org/SvlasJ7f
<?php
$array = array('Old Value');
$lastarray = '';
updateArray($array,'New Value');
function updateArray(&$a,$v) {
$GLOBALS[lastarray] = $a;
$a = array($v);
}
?>
私は実際の列の隣に平行な列を作った。私は配列を作成し、配列の先頭(または末尾)に新しい値を(キー値として)プッシュするようにするつもりです。 – phpJs
あなたは最後の値を保持し、画面に表示したい場合は、 2つを組み合わせる!フォームのreadonly
input
フィールドに前の値を表示するだけです。そうすれば、フォームが提出されるたびに以前の値を保持します。
<form action="process.php" method="POST">
<input type="text" name="Current" value="...">
<input type="text" name="Last" value="..." readonly="readonly">
</form>
何か不足していますか?
しかし、私はデータベースから変数の値を取得するので、私はそれを更新すると、それはデータベースで更新され、結果的にhtmlになります。しかし、私がした解決策は、2つの列(静的および変更)を作成し、静的列から元の値を取得することです。とにかく - 私はchangin値の配列を作りたかったので、毎回の変更が記憶されています - 私はこの問題について考えています:) – phpJs
あなたはそれをユーザーが変更するたびにDBに更新しますか?なぜ彼らは完了しただけではないのですか?あなたは「彼がそれに同意するまで、ユーザーは価格を変えるかもしれない」というコメントで言った。したがって、OKのときだけ値を保存してください。それはDBにたくさんのクエリを保存します。 –
変更するたびにボタンを押すとデータベースに書き込まれます。もし彼らがそれで大丈夫なら、彼らは変わらない。システムは、彼らがいつ終わったかを知りません - それは毎回大丈夫です。私はもっと仕事をしなければならないでしょう – phpJs
以前の値をどれくらい覚えておきますか? – Crontab
ユーザーは彼がそれに同意するまで価格を変更することができます。最初の金額が表示されます。 私はちょうど初期価格で1つの列を作成し、それを変更しないでください。 まだ最後の値を表示するにはどうすればいいですか? – phpJs