2016-03-29 106 views
-5

需要幫助將動態字段和值插入到PHP中的MySQL數據庫表中。 SAMPE數據從PHP數組插入到MySQL表中的動態表值

$data[] = array('client'=>$clientname, 
       'amount' => 12000, 
       'balance'=>6000, 
       'term'=>6, 
       'maturitydate'=>'2016-05-31' 
       ) 

參數傳遞來獲取以上數據:支= branchid,日期= cutoffdate

這裏的表結構,我需要插入上述數據。

領域: 分支, 日期, account_no上, 場, 值

前兩個字段的值從傳入的參數來了,account_no上來自數據後,使用傳遞PARAM查詢數據庫,對於字段值應該來自數組索引,值是索引值。插入數據

branch date   account_no field value 
br001 2016-03-31 0010GL001 client Client Name 1 
br001 2016-03-31 0010GL001 amount 12000 
br001 2016-03-31 0010GL001 balance 6000 

......之後 表

被網上尋找一些可能的解決方案圍繞,但我無法找到一個。 任何幫助將不勝感激。謝謝

+0

告訴我們您的查詢 – DevOps

+0

其胚根,但你總是可以只代碼的東西,而不是試圖用別人的代碼。 – RiggsFolly

+0

您可以在數組中添加更多值,以便清楚瞭解您必須添加的數據。另外字段不清楚。請編輯您的問題進行格式化。 –

回答

1

假設你有三個值已經(branchdateaccount_no)和$clientname也被分配,則可以使用foreach(),因此腳本應該是這樣的:

<?php 
    $branch = 'br001'; 
    $date = '2016-03-31'; 
    $accNo = '0010GL001'; 
    $clientname = 'client_name'; 
    $data = array('client' => $clientname, 
     'amount' => 12000, 
     'balance' => 6000, 
     'term' => 6, 
     'maturitydate' => '2016-05-31' 
    ); 
    foreach ($data as $field => $value) { 
     $query = "INSERT INTO db_table 
       (`branch`, `date`, `account_no`, `field`, `value`) 
      VALUES 
       ('" . $branch . "', '" . $date . "', '" . $accNo . "', '" . $field . "', '" . $value . "')"; 
     echo $query . '<br>'; 
     mysqli_query($link, $query) or die(mysqli_error($link)); 
    } 
?> 

這將產生以下查詢:

INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'client', 'client_name') 
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'amount', '12000') 
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'balance', '6000') 
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'term', '6') 
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'maturitydate', '2016-05-31')