IndexController.class.php

<?php
namespace Home\Controller;
use Think\Controller;
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 Home\Model;
use Think\Model;
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>


更多相关文章

  1. 服务器数据库系列 - 日志系列 - Nginx日志
  2. 指导我优化我的PHP代码,用数组中的空数据填充缺失值
  3. thinkPHP的数据添加、修改、删除
  4. 在MySQL数据库中搜索与多个Tag记录相关/包含的书签
  5. 使用jquery和php手动在数据库中增加一个字段[复制]
  6. 如何使用ajax向php发送与每个按钮相关的数据?
  7. php标准库 SPL 数据结构之-----SplDoublyLinkedList(双向链表)
  8. php 封装原生数据导出的方法
  9. 当将带有撇号的单词保存到数据库时,mysql_real_escape_string会添

随机推荐

  1. Activity属性设置大全
  2. Android GridView 使用示例
  3. 从零开始--系统深入学习android(实践-让我
  4. android检测当前网络是否可用
  5. Android笔记_Linearlayout(线性布局)
  6. Android全屏显示的两种方式
  7. Android进程 与 消息模型
  8. android应用程序签名问题
  9. Android杂谈---Android几种预定义样式
  10. 开机关机动画工作流程