2012-02-14 2 views
0

나는 내 테이블에 MySQL 내에서 두 개의 열이 있습니다. The Columns은 다음과 같은 일련 번호 배열 구조를 포함하는 Amount와 NewObject입니다.PHP는 MySQL에서 데이터를 unserialize 및 배열을 만들

{"type":"Sanction","data":{"MyID":-1,"Type":{"type":"Translation","data":{"code":"STATE","codeType":"Purchase"}},"Name":"newnamehereagain","Org":"60066","StartDate":"2012-02-15","EndDate":"2012-02-16","CloseDate":null,"EnteredDate":"2012-02-14 15:33:58","PacketSentDate":"2012-02-14 15:33:58","CancelledDate":null,"CancellationReason":null,"MyBigID":"004061","Countries":null,"SiteName":"nert","AddressLine1":"98 Patterson Road","AddressLine2":"","City":"Lawrenceville","State":"GA","Zip":"30044","Participants":null,"AdditionalInsured":"","Comments":null,"Program":"TT","Levels_SanctionLevel_array":"IT03,TLEVEL10"}} 

다른 열은 금액입니다. 나는 ID와 일치하는 모든 행을 꺼내이 쿼리를 실행하고 있습니다 :

$sql2 = $db->query("SELECT `Amount`,`NewObject` FROM `mb_cart` WHERE `PersonID` = '$id'"); 
그때 직렬화 된 배열 NewObject에 (예 : "이름": "newnamehereagain")에서 '이름'필드를 추출 할

및 한번 이름이 생기면이 이름을 가진 배열을 만든 다음 데이터베이스 칼럼의 'Amount'를이 이름에 추가합니다. 이것이 성취 될 수 있습니까? 여기

내가 (기쁨)을 시도되지 않은 것입니다 :

foreach ($sql2 as $values) 
{ 
    $value = explode(",", $values); 

foreach ($value as $v) 
    { 
    array($amount, $v); 
    } 
} 

답변

1

귀하의 "NewObject에"열은 JSON 인코딩 된 중첩 된 해시가 포함되어있는 것으로 나타났습니다. json_decode을 사용하여 중첩 된 배열 구조로 되돌리고 값을 수정 한 다음 json_encode을 통해 다시 인코딩해야합니다.

관련 문제