在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常见操作
