Rumah > Soal Jawab > teks badan
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)
过去多啦不再A梦2017-05-16 13:03:50
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.ringa_lee2017-05-16 13:03:50
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
大家讲道理2017-05-16 13:03:50
Mula-mula melintasi tatasusunan tahap 3 dan membuangnya ke dalam tatasusunan sub-item tahap 2, serupa dengan Infinitus yang terbalik
PHP中文网2017-05-16 13:03:50
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;
}
这个是我的无限极分类,你的三级分类和我类似,只要渲染前段的时候注意就好了