2016-03-29 12 views
-5

Benötigen Sie Hilfe beim Einfügen dynamischer Felder und Werte in mysql db-Tabelle in PHP. sampe DatenEinfügen dynamischer Tabellenwerte von PHP-Array in MySQL-Tabelle

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

Parameter übergeben die oben genannten Daten zu erhalten: Zweig = branchid, date = cutoffdate

Hier ist die Tabellenstruktur, wo ich die obigen Daten einfügen müssen.

Felder: Zweig, Datum, account_no, Feld, Wert

die ersten beiden Felder Werte aus den Parametern kamen übergeben, kommt account_no aus den Daten nach dem die DB mit dem übergebenen param abfragt, Der Feldwert sollte aus dem Array-Index und der Wert aus dem Indexwert stammen. Tabelle nach Daten

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 

......

gesucht um das Netz für einige mögliche Lösungen eingefügt, aber ich kann man nicht finden. Jede Hilfe wird sehr geschätzt. auch zugewiesen danke

+0

zeigen Sie uns Ihre Anfrage – DevOps

+0

Seine Würzelchen, aber man kann immer nur Code etwas anstatt zu versuchen, jemand anderen Code zu verwenden. – RiggsFolly

+0

Können Sie einige weitere Werte in Array hinzufügen, so erhalten Sie eine klare Vorstellung, welche Daten Sie hinzufügen müssen. Auch Felder nicht klar. Bitte bearbeiten Sie Ihre Frage, um sie zu formatieren. –

Antwort

1

Unter der Annahme, dass Sie bereits ersten drei Werte (branch, date, account_no) und $clientname ist, können Sie foreach() verwenden, so dass das Skript sollte wie folgt sein:

<?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)); 
    } 
?> 

Dies wird produzieren folgende Anfragen:

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')