1.分類表category的結(jié)構(gòu)基本上是id,name,parent_id三個主要欄位組成
2.需要列印顯示成這樣的表格格式
3.該怎麼寫php程式碼? (允許重新設(shè)計資料庫表)
都定好3級了,什麼才3級!?自己自連接2次就行了.
select c1.name "一級分類", c2.name "二級分類", c3.name "三級分類"
from category c1
inner join category c2 on c1.id=c2.parent_id
inner join category c3 on c2.id=c3.parent_id
where c1.parent_id=0 #最高級;
這樣就能得到你要的表.
資料庫分為三張表:first_level, second_level, third_level
first_level: id, name;
second_level: id, parent_id, name // second_level.parent_id = first_level.id
third_level: id, parent_id, name // third_level.parent_id = second_level.id
各位大神人家要的是php程式碼
其實就是一個重新排序的問題一級分類下包含的二級和三級分類,
static public function toLevel($cate, $delimiter = '|——', $parent_id = 0, $level = 0) {
$arr = array();
foreach ($cate as $v) {
if ($v['parent_id'] == $parent_id) {
$v['type'] = $level + 1;
$v['delimiter'] = str_repeat($delimiter, $level);
$arr[] = $v;
$arr = array_merge($arr, self::toLevel($cate, $delimiter, $v['cate_id'], $v['type']));
}
}
return $arr;
}
這個是我的無限極分類,你的三級分類和我類似,只要渲染前段的時候注意就好了