1. La structure de la catégorie du tableau de classification est essentiellement composée de trois champs principaux?: id, name et parent_id
2. Elle doit être imprimée et affichée dans un tel format de tableau
3. Comment dois-je écrire du code php?? (Permet la refonte des tables de base de données)
Déjà réglé le niveau 3, qu'est-ce que le niveau 3 !? Connectez-le simplement vous-même deux fois.
select c1.name "一級(jí)分類", c2.name "二級(jí)分類", c3.name "三級(jí)分類"
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 #最高級(jí);
De cette fa?on, vous pouvez obtenir la montre que vous souhaitez.
La base de données est divisée en trois tables?: 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
Parcourez d'abord le tableau de niveau 3 et jetez-le dans le tableau de sous-éléments de niveau 2, de la même manière qu'Infinitus allait en sens inverse
Ce que vous voulez, ma?tres, c'est du code php
En fait, il s'agit d'un problème de réorganisation des classifications de deuxième et troisième niveaux incluses dans la classification de premier niveau,
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è)是我的無限極分類,你的三級(jí)分類和我類似,只要渲染前段的時(shí)候注意就好了