2017-02-13 2 views
1

Ich stehe vor ein kleines Problem und ich weiß nicht, ob es möglich ist, es zu erreichen oder nicht. Lassen Sie mich erklären:Einfügen mit assoziativem PHP-Array

Ich habe ein assoziatives Array wie folgt:

Array 
(
    [res_id] => 104 
    [subject] => Test 
    [type_id] => 503 
    [format] => pdf 
    [typist] => fefe 
    [creation_date] => 2017-02-10 14:27:37.236711 
    [modification_date] => 2017-02-10 14:27:37.236711 
    [fulltext_result] => 1 
    [doc_date] => 2017-02-01 00:00:00 
    [docserver_id] => FASTHD_MAN 
    [path] => 2017#02#0001## 
    [filename] => 0008.pdf 
    [fingerprint] => 
    [filesize] => 84979 
    [status] => VAL 
    [destination] => DSG 
    [priority] => 2 
    [is_multi_docservers] => N 
    [is_frozen] => N 
    [tablename] => res_letterbox 
    [initiator] => COU 
    [dest_user] => ddaull 
    [locker_user_id] => fefefef 
    [locker_time] => 2017-02-13 15:52:25.624521 
    [confidentiality] => N 
    [tnl_path] => 2017#02#0001## 
    [tnl_filename] => 0008.png 
) 

Ich möchte wissen, ob ich diese assoziatives Array verwenden können, um eine INSERT zu beantragen zu machen? Ich möchte, dass der erste Teil des Arrays (wie res_id, subject) zum Einfügen in den Spaltenteil geht. Der zweite Teil der Anordnung (wie 104, Test) geht auf die Werte

Vielen Dank im Voraus für Ihre Hilfe, ich hoffe, klar genug bin ..

+1

Sicher ist es möglich, aber Sie müssen es schreiben. Entweder Schleife über Ihr Array, um eine Abfrage zu erstellen, oder verwenden Sie 'array_keys()' und 'array_values ​​()', um zu extrahieren, was Sie brauchen. – WillardSolutions

+0

Also muss ich zwei Arrays haben und eine Abfrage wie diese nach der Verwendung von array_keys und array_value machen: INSERT INTO Tabellenname ($ arrayColumn) VALUES ($ arrayValues)? – Nathan30

+0

@ Nathan30 du meinst einfügen in Tabelle ('res_id') Werte (104) so? –

Antwort

1

@ Nathan30 dieses versuchen:

<?php 
    $arr = array(
     "res_id" => 104, 
     "subject" => "Test", 
     "type_id" => 503, 
     "format" => "pdf", 
     "typist" => "fefe", 
     "creation_date" => "2017-02-10 14:27:37.236711", 
     "modification_date" => "2017-02-10 14:27:37.236711", 
     "fulltext_result" => 1, 
     "doc_date" => "2017-02-01 00:00:00", 
     "docserver_id" => "FASTHD_MAN", 
     "path" => "2017#02#0001##", 
     "filename" =>" 0008.pdf", 
     "fingerprint" => "", 
     "filesize" => 84979, 
     "status" => "VAL", 
     "destination" => "DSG", 
     "priority" => 2, 
     "is_multi_docservers" => "N", 
     "is_frozen" => "N", 
     "tablename" => "res_letterbox", 
     "initiator" => "COU", 
     "dest_user" => "ddaull", 
     "locker_user_id" => "fefefef", 
     "locker_time" => "2017-02-13 15:52:25.624521", 
     "confidentiality" => "N", 
     "tnl_path" => "2017#02#0001##", 
     "tnl_filename" => "0008.png", 
    ); 
    echo "<pre>"; 
    print_r($arr); 
    $column = array(); 
    $values = array(); 
    foreach($arr as $key => $value){ 
     $column[] = $key; 
     $values[] = $value; 
    } 

    now query will be like: 

    "insert into table values(".implode(',', $column).") values (".implode(',', $values).")"; 
+1

Perfekt vielen Dank. Ich muss nur $ values ​​[] = $ value ändern; zu $ values ​​[] = "'". $ Wert. "'"; aber Ihre Antwort ist was ich brauchte – Nathan30

+0

alles Gute (y) –

Verwandte Themen