###DBから取得したデータを綺麗に整形したい
MySQLテーブル内にあるCategoryテーブルからデータを取得してきれいな配列を作成したいと思っています。
###Categoryテーブルの内容
id | name | parent |
---|---|---|
1 | スマートフォン | NULL |
2 | ガラケー | NULL |
3 | iOS | 1 |
4 | Android | 1 |
6 | iPhone6s | 3 |
7 | iPhone7 | 3 |
8 | GalaxsyS6 | 4 |
9 | GalaxsyS7 | 4 |
10 | Gara-K1 | 2 |
11 | Gara-K2 | 2 |
【id】 ・・・・・・・AutoInsertmentされた値 【name】・・・・カテゴリの名称 【parent】・・・属する親カテゴリのid(一つ上の階層)
###生成したい配列
[ (int) 0 => 'スマートフォン', (int) 1 => ' iOS', (int) 2 => ' iPhone6s', (int) 3 => ' iPhone7', (int) 4 => ' Android', (int) 5 => ' GalaxsyS6', (int) 6 => ' GalaxsyS7', (int) 7 => 'ガラケー', (int) 8 => ' Gara-K1', (int) 9 => ' Gara-K1' ]
【補足】
DBから取得したデータに含まれるParentを使って配列を並べ替え階層がわかるようにインデント(半角スペースで表現)を入れた配列を作りたい
###SHOW CREATE TABLE文
sql
1CREATE TABLE `Category` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT, 3 `name` text NOT NULL, 4 `parent` int(11) DEFAULT NULL, 5 PRIMARY KEY (`id`) 6) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8
回答3件
あなたの回答
tips
プレビュー