Det är väl bara att göra något i stil med (obs helt otestad kod):
PHP-kod:
$cur_group_id = NULL;
$categories = array();
$group_i = 0;
while( $r = next_result() )
{
if( $r->group_id != $cur_group_id )
{ //Börja ny gruppering
//Increment array position
$group_i++;
$categories[$group_i]['group_id'] = $r->group_id;
$categories[$group_i]['group_name'] = $r->group_name;
}
//Fyll på med kategorier
$categories[$group_i]['categories'] = array(
"category_id" => $r->category_name,
"category_name" => $r->category_name;
)
}
I SQL-queryn kör du mot category-tabellen och joinar in groups-tabellen. Sedan grupperar(GROUP BY) på category_id.
Ändra while-loopen så att det blir rätt för det databas-API du använder.