入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

在ThinkPhp中实现无限极分类

创建时间:2016-08-06 投稿人: 浏览次数:3540

IndexController.class.php

<?php
namespace HomeController;
use ThinkController;
class IndexController extends Controller {
    //查询全部数据
    public function index(){
        //实例化model
        $User=D("Address");
        $arr = $User->sel_all();
        //print_r($arr);die;
        $this->assign("arr",$arr);
        $this->display();
    }

}

?>

AddressModel.class.php

<?php
namespace HomeModel;
use ThinkModel;
class AddressModel extends Model{
    //查询address表中所有数据
    public function sel_all(){
        $arr = $this->Table("address")->select();
        return $this->list_level($arr,$pid=0,$level=0);
    }
    //递归遍历数据
    public function list_level($arr,$pid=0,$level=0){
        //定义一个静态数组
        static $data = array();
        foreach($arr as $k => $v){
            if($v["pid"] == $pid){
                $v["level"] = $level;
                $data[] = $v;
                $this->list_level($arr,$v["id"],$level+1);
            }
        }
        return $data;
    }
}

View

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<table border="1">
    <th>编号</th>
    <th>地区</th>
    <th>层级</th>
    <foreach name="arr" item="v">
        <tr>
            <td>{$v.id}</td>
            <!--str_repeat("字符串","重复的次数");重复一个字符串-->
            <td><?php echo str_repeat("----",$v["level"]);?>{$v.name}</td>
            <td>
                <if condition="$v["level"] eq 0">
                    一级分类
                    <elseif condition="$v["level"] eq 1"/>
                    二级分类
                    <else/>
                    三级分类
                </if>
            </td>
        </tr>
    </foreach>
</table>
</body>
</html>


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。