我有一個JSON數組,我需要將它轉換爲插入查詢字符串, 有沒有人有想法如何做到這一點?轉換JSON數組插入到一個插入查詢字符串在PHP
這裏的JSON字符串
$array = '[
{
"table":"customer",
"data":
[
{
"name":"Johny",
"address":"jl. abc no 5",
"where" :
{
"customerid":1
}
},
{
"name":"Doko",
"address":"jl. kerinci 7"
"where" :
{
"customerid":2
}
}
]
},
{
"table":"supplier",
"data":
[
{
"id":123
},
{
"id":234
}
]
}
]
';
然後我用json_decode把它轉換成一個數組
$obj = json_decode($array,true);
這裏的解決方法到目前爲止,我所做的一切。
foreach($obj as $result){
$table = $result['table'] . "</br>";
$data = $result['data'];
$string = "INSERT INTO $table (";
foreach($data as $subdata){
foreach($subdata as $key=>$val){
$string .= "$key,";
$string .= ")VALUES (";
$string .= "'$val'" . ",";
}
$string .= ");";
}
echo $string."</br>";
}
,但它不喜歡的工作,我想,
我需要的是將其轉換成查詢等預先
INSERT INTO customer(customerid,address)values('1','jl.abc no 5');
INSERT INTO customer(customerid,address)values('2','jl. kerinci no 7');
INSERT INTO supplier(id)values('123');
INSERT INTO supplier(id)values('234');
感謝。
PS:該數組可能超過兩個數組,甚至只有一個。
============================================== =============================
更新:讀數組然後將其拆分成更新查詢字符串 像
UPDATE customer SET name="JOHNY", address="jl. abc no 5";
UPDATE customer SET name="Doko", address="jl. kerinci 7";
時「其中」項存在,並且忽略它當「其中」項不存在
當你解碼這是永遠都只是兩個數組?客戶和供應商? –
@ L.Herrera nope,它可能超過兩個,或者可能只是一個。 – mabbs
但不能超過兩個?它可以只是客戶?只有供應商? –