mysql - 面试题:PHP三级分类怎样打印成表格展示?
漂亮男人
漂亮男人 2017-05-16 13:01:50
0
6
705

1.分类表category的结构基本是id,name,parent_id三个主要字段组成
2.需要打印显示成这样的表格格式

3.应该怎么编写php代码?(允许重新设计数据库表)

漂亮男人
漂亮男人

reply all(6)
过去多啦不再A梦

Already set level 3, what is level 3!? Just connect it yourself twice.

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 #最高级;

This way you can get the watch you want.

世界只因有你

php unlimited classification database design

左手右手慢动作

The database is divided into three 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
大家讲道理

First traverse the level 3 array and throw it into the level 2 sub-item array, similar to Infinitus going in reverse

洪涛

What you masters want is php code
In fact, it is a reordering problem. The second and third level classifications included under the first level classification,

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;

}
这个是我的无限极分类,你的三级分类和我类似,只要渲染前段的时候注意就好了
phpcn_u1582

Using recursive queries in SQL

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!