2012-02-14 28 views
0

私はMysql内のテーブルに2つのカラムを持っています。 ColumnsはAmountで、次のようなシリアル化された配列構造を含むNewObjectです。PHPはMysqlからデータをシリアル化して配列を作成します

{"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で再エンコードしてください。

関連する問題