2017-04-03 43 views
0

有一個小問題。在這部分代碼:將數組內的值更改爲可編輯的輸入字段

<?php 
$data = [ 
    "eCheckDetails"=>[ 
    "paymentsReceived"=>$history["transactionSummary"]["eCheckTotal"], 
    "revenueReported"=>$history["transactionSummary"]["eCheckTotal"], 
    "fundsDeposited"=>$history["transactionSummary"]["eCheckTotal"], 
    "accountAdjustment"=>0.00], 

"paymentCardDetails"=>[ 
    "paymentsReceived"=> $history["transactionSummary"]["paymentCardTotal"], 
    "revenueReported"=> $history["transactionSummary"]["paymentCardTotal"], 
    "fundsDeposited"=> $history["transactionSummary"]["paymentCardTotal"], 
    "accountAdjustment"=>0] 
    ]; 

數據 「$歷史[...] [...]

從另一個文件或數據庫(它不是真正從哪裏很重要)

採取

問題是,該數據有時不正確,需要手動更改。這是我的問題。如何使這個領域(其中$歷史[..] [..]是)編輯,是

  <input type="text"> 

與在$歷史[隱藏默認值(與小按鈕接受或SMG一邊某處).. ] [..]。 我試圖做到這一點,但它的內部陣列並沒有任何運氣。也許有人知道?

問候

+0

可以以這種形式給名字的輸入字段''當你發佈表單時,PHP會在$ _POST ['history']中得到一個數組...我想。 – Dimi

回答

0

您可以使用名爲鑰匙放在HTML屬性,例如<input ... name="history[transactionSummary][eCheckTotal]">。將其提交回服務器將填充您的陣列。

<?php 

$form = <<<EOS 
    <form method="post" action=""> 
     <input type="text" value="" name="history[transactionSummary][eCheckTotal]"> 
    </form> 
EOS; 

if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    var_dump($_POST); 
} else { 
    echo $form; 
} 

$_POST超全局的內容將是:

Array 
(
    [history] => Array 
    (
     [transactionSummary] => Array 
     (
      [eCheckTotal] => dsdsa 
     ) 
    ) 
) 
+0

謝謝!你能再告訴我一件事嗎?這種方式如何發送多個輸入數據。我的意思是我必須編輯它們中的8個,但是在填充全部8個輸入之後按下回車鍵什麼都不做。它可以以一種形式完成嗎?/無butonns/ – widmopl

+0

這是一個客戶端問題,數據如何在瀏覽器中呈現。大多數瀏覽器都會在輸入時提交,如果你有以下代碼:

,但是這裏假定你沒有任何可能阻止它的事件處理程序。 – motanelu