php - Two MySQL result sets to a nested array -
i'm having 2 tables of data "item" , "subsidiary" following structure:
item itmcod itmname
subsidiary itmcodparent itmcodchild
i need show list of items each list of subsidiaries, in json:
{ "itmcod":1, "itmname":"bogusitem1", "subsidiaries": [ { "itmcodparent":1, "itmcodchild":15 },{ "itmcodparent":1, "itmcodchild":16 } ] },{ "itmcod":2, "itmname":"bogusitem2", "subsidiaries": [ { "itmcodparent":2, "itmcodchild":17 },{ "itmcodparent":2, "itmcodchild":18 } ] } how can add second result set first 1 have nested shown above. have code far:
$sql = "select itmcod, itmname item"; $item_rows = array(); while($item_row = $database->fetch_array_assoc($item_result)){ $sub_sql = "select itmcodparent, itmcodchild subsidiary subsidiary.itmcodparent = " . $item_row["itmcod"]; $sub_result = $database->query($sub_sql); $sub_rows = array(); while($sub_row = $database->fetch_array_assoc($sub_result)){ $sub_rows[] = $sub_row; } $item_rows[] = $item_row; } print json_encode($item_rows); thanks.
just above line
$item_rows[] = $item_row; simply add
$item_row['subsidiaries']=$sub_rows;
Comments
Post a Comment