簡體   English   中英

將動態表值從 PHP 數組插入到 MySQL 表

[英]Inserting dynamic table values from PHP array to MySQL table

在 PHP 中將動態字段和值插入 mysql db 表時需要幫助。 樣本數據

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

為獲取上述數據而傳遞的參數:branch = branchid, date =cutoffdate

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

字段:分支、日期、account_no、字段、值

前兩個字段值來自傳遞的參數,account_no 來自使用傳遞的參數查詢數據庫后的數據,因為字段值應該來自數組索引,值是索引值。 插入數據后的表格

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

......

一直在網上尋找一些可能的解決方案,但我找不到。 任何幫助將不勝感激。 謝謝你

假設您已經擁有前三個值( 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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM