1. Struktur kategori jadual klasifikasi pada asasnya terdiri daripada tiga medan utama: id, nama dan parent_id
2 Ia perlu dicetak dan dipaparkan dalam format jadual sedemikian
3. Bagaimanakah saya harus menulis kod php? (Membenarkan reka bentuk semula jadual pangkalan data)
Sudah set level 3, level 3 tu apa!?
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 #最高級;
Dengan cara ini anda boleh mendapatkan jam tangan yang anda inginkan.Pangkalan data terbahagi kepada tiga jadual: 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
Mula-mula melintasi tatasusunan tahap 3 dan membuangnya ke dalam tatasusunan sub-item tahap 2, serupa dengan Infinitus yang terbalik
Apa yang tuan mahukan ialah kod php
Malah, ia adalah masalah penyusunan semula Klasifikasi tahap kedua dan ketiga termasuk di bawah klasifikasi tahap pertama,
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;
}
這個(gè)是我的無限極分類,你的三級分類和我類似,只要渲染前段的時(shí)候注意就好了