MySqlに2つのテーブルがあります
セクション
section_id name
=====================
1 Section1
2 Section2
カテゴリー
category_id section_id name
=========================================
1 1 Category1
2 1 Category2
3 2 Category3
4 2 Category3
これは私が今持っているものです:
$sections = mysql_query($sql_section) or die("Could not execute query.");
$categories = mysql_query($sql_category) or die("Count not execute query");
$result = array('sectionlist' => array());
for ($i=0; $i < mysql_num_rows($sections); $i++ ){
for ($j=0; $j < mysql_num_rows($categories); $j++){
if (mysql_result($sections,$i,"section_id") == mysql_result($categories,$j,"section_id")){
$result['sectionlist'][] = array('sectionName' => mysql_result($sections,$i,"name"), 'categorylist' => array(array('category' => mysql_result($categories,$j,"name"))));
}
}
}
echo json_encode($result);
出てきた結果は次のようなものです。
{sectionlist:[
{sectionName: "Section1", categoryList: [{categoryName: "category1"}]},
{sectionName: "Section1", categoryList: [{categoryName: "category2"}]},
{sectionName: "Section2", categoryList: [{categoryName: "category3"}]},
{sectionName: "Section2", categoryList: [{categoryName: "category4"}]},
]}
これは私が期待した結果ではありませんでした。次のようなオブジェクトが必要です。
{sectionlist:[
{sectionName: "Section1", categoryList: [{categoryName: "category1"}, {categoryName: "category2"}]},
{sectionName: "Section2", categoryList: [{categoryName: "category3"}, {categoryName: "category4"}]}
]}
したがって、セクション 1 をセクション 1 に、セクションをセクション 2 にグループ化するにはどうすればよいでしょうか?