Saeed Heidarizarei
Saeed Heidarizarei

Reputation: 8916

Split a Column of json Object to More Column via PHP

How Can I Split This json Object to 3 Part id awnser and type ?

[{"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"}]

And db Name: array Table Name: user_survey_start JSON Column Name: survey_answers, This is my code:

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

Upvotes: 0

Views: 713

Answers (1)

mith
mith

Reputation: 1700

Try using 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);
  }

}

Upvotes: 1

Related Questions