2017-02-15 35 views
0

如何將此json對象拆分爲3部分idawnsertype通過PHP將json對象的列拆分爲更多列

[{"id":"26","answer":[{"option":"3","text":"HIGH"}],"type":"a"}, 
{"id":"30","answer":[{"option":"3","text":"LOW"}],"type":"b"}, 
{"id":"31","answer":[{"option":"3","text":"LOW"}],"type":"c"}] 

和DB名稱:array表名:user_survey_start JSON列名:survey_answers,這是我的代碼:

 <?php 
    $con=mysqli_connect("localhost","root","","arrayy"); 
    // Check connection 
    if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 
$sql="SELECT `survey_answers` FROM `user_survey_start`"; 

if ($result=mysqli_query($con,$sql)){ 

while ($row = mysqli_fetch_row($result)){ 
} 
mysqli_close($con); 
?> 
+0

分至3 JSON對象? '{「id」:「26」}''{answer「:[{」option「:」3「,」text「:」HIGH「}]}''{」type「:」a「}' – mith

+0

我可以有這樣的東西嗎? '26,30,31'和'High,low.low'和'a,b,c' //這是下一行之後的一行 –

回答

1

嘗試使用json_decode()

<?php 
$sql="SELECT `survey_answers` FROM `user_survey_start`"; 

if ($result=mysqli_query($con,$sql)) 
{ 

while ($row = mysqli_fetch_row($result)) 
{ 

    $json = $row[0]; 
    $jason_array = json_decode($json,true); 
    foreach ($jason_array as $data){ 
     $id[] = $data['id']; 
     $answer[] = $data['answer']; 
     $type[] = $data['type']; 

     // here code to insert/update values to db column 
    } 

    echo implode(',',$id); 
    echo implode(',',$answer); 
    echo implode(',',$type); 
    } 

} 
+0

我需要讀取代碼** phpMyAdmin jsons Column ** ... ..我的意思是這是我的行的一排 –

+0

你不使用你的查詢獲得數據嗎'$ sql =「SELECT survey_answers FROM user_survey_start」;'?? @SedricHeidarizarei – mith

+0

我是編程新手,你能寫我一個正確的代碼與我的Db名稱和Db表? '$ json =我的列的所有行' –