2011-10-25 48 views
0

我把一個變量(價格)從數據庫中放到一個html表單中。 然後用戶更改價格並提交表單並在數據庫中更新變量。 我想保留以前的值(最後的狀態,並在窗體中顯示),但如果我更新表單變量不斷更新。保留變量的過去值

什麼是最好的方法來記住變量的前一個值(例如在數組中)?

+0

你想記住以前的價值多久? – Crontab

+0

用戶可以更改價格,直到他確定爲止。他/她應該看到最初的金額。 我可以用最初的價格做一列,並保持不變。 仍然如何顯示最後的價值。 – phpJs

回答

0

如果您要在實際數據庫中更新此數據,則應創建一個保存上一行值的並行表。

否則,如果你只更新一個數組,你可以更新陣列之前創建一個副本:http://codepad.org/SvlasJ7f

<?php 

    $array = array('Old Value'); 
    $lastarray = ''; 

    updateArray($array,'New Value'); 

    function updateArray(&$a,$v) { 
     $GLOBALS[lastarray] = $a; 
     $a = array($v); 
    } 
?> 
+0

我在實際列旁邊做了一個平行列。我將嘗試創建數組並每次將新值(作爲鍵值)推送到數組的開始(或結尾)。 – phpJs

0

如果您想保留最後的值並在屏幕上顯示出來,結合這兩個!只需在表單中的readonlyinput字段中顯示以前的值。這樣,每次提交表單時都會保留以前的值。

<form action="process.php" method="POST"> 
    <input type="text" name="Current" value="..."> 
    <input type="text" name="Last" value="..." readonly="readonly"> 
</form> 

或者我錯過了什麼?

+0

但我從數據庫中獲得變量的值,所以如果我更新它的形式,它會在db中更新並因此在html中。但我所做的解決方案是製作兩列(靜態和更改)並從靜態列中獲取原始值。無論如何 - 我想製作一系列changin值 - 所以每一個變化都會被記住 - 我已經考慮過這個問題了:) – phpJs

+0

你想每次更新它到數據庫時,用戶都會改變它?爲什麼不只是當他們完成時?你在評論中說:「用戶可以改變價格,直到他確定爲止」。所以只有在確定時才保存該值。這將爲您節省大量的查詢數據庫。 –

+0

每次他們改變它,並按下它被寫入數據庫。如果他們確定,他們不會改變。系統不知道什麼時候完成 - 或者每次都可以。我不得不嘗試更多的工作 – phpJs