在ThinkPhp中实现无限极分类
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。
- 上一篇: Yii2.0 探究三 :用户登录机制
- 下一篇: yii2 GridView常见操作