php无限分类二
1.读取数据数据
/**
* 所有分类数据
* */
public function categoryData(){
$order = 'id,sort asc';
$res = $this->db->cache($this->cache)->order($order)->select();
return $data;
}
结构如下
Array
(
[] => Array
(
[id] =>
[pid] =>
[name] => 新闻40
[desc] =>
[is_delete] =>
[add_time] =>
) [] => Array
(
[id] =>
[pid] =>
[name] => 图片
[desc] =>
[is_delete] =>
[add_time] =>
) [] => Array
(
[id] =>
[pid] =>
[name] =>
[desc] =>
[is_delete] =>
[add_time] =>
) [] => Array
(
[id] =>
[pid] =>
[name] =>
[desc] =>
[is_delete] =>
[add_time] =>
) [] => Array
(
[id] =>
[pid] =>
[name] => 第4级分类
[desc] =>
[is_delete] =>
[add_time] =>
) [] => Array
(
[id] =>
[pid] =>
[name] =>
[desc] =>
[is_delete] =>
[add_time] =>
) )
2.创建子分类查询
/**
* 子分类列表
* */
public function pidData($pid=null){
$result ='';
$arr = $this->categoryData();
foreach($arr as $k=>$v){
if($v['pid'] == $pid){
$result[$v['id']] = $v;
}
}
return $result;
}
3.无限循环
/**
* 分类树
* */
public function tree($pid=){
$res = $this->pidData($pid);
if(empty($res)) return false;
foreach($res as $k=>$v){
$result[$v['id']] = $v; $rf = $this->tree($v['id']);
if($rf){
foreach($rf as $k=>$vv){
$result[$vv['id']]['id'] = $vv['id'];
$result[$vv['id']]['name'] = " |- ".$vv['name'];
$result[$vv['id']]['pid'] = $vv['pid'];
}
}
}
return $result;
}
最后获得的无限循环结构
Array
(
[] => Array
(
[id] =>
[pid] =>
[name] => 新闻40
[desc] =>
[is_delete] =>
[add_time] =>
) [] => Array
(
[id] =>
[name] => |-
[pid] =>
) [] => Array
(
[id] =>
[name] => |- |- 第4级分类
[pid] =>
) [] => Array
(
[id] =>
[name] => |- |- |-
[pid] =>
) [] => Array
(
[id] =>
[name] => |-
[pid] =>
) [] => Array
(
[id] =>
[pid] =>
[name] => 图片
[desc] =>
[is_delete] =>
[add_time] =>
) )
php无限分类二的更多相关文章
- php三种无限分类
无限分类,是指从一个最高分类开始,每个子分类都可以分出自己的若干个子分类,可以一直分下去,称为无限级分类: 下面是对省市县的无限极分类的列子.数据库如图: 代码示例如下: /** * @Descrip ...
- thinkphp之无限分类
namespace Home\Controller; use Home\Controller; class CategoryController extends Controller { //无限分类 ...
- 后台树状菜单,js实现递归无限分类
//新闻类别管理 public function new_classify() { $arr = M('news_classify')->where("fid = 0")-& ...
- MySql无限分类数据结构--预排序遍历树算法
MySql无限分类数据结构--预排序遍历树算法 无限分类是我们开发中非常常见的应用,像论坛的的版块,CMS的类别,应用的地方特别多. 我们最常见最简单的方法就是在MySql里ID ,parentID, ...
- TreeView递归绑定无限分类数据
TreeView递归绑定无限分类数据 实现一个动态绑定,无限级分类数据时,需要将数据绑定到TreeView控件,分类表的结构是这样的: 字段 类型 Id int ParentId int Name N ...
- 关于无限分类的树状输出(id,name,pid)类型的
首先创建无限分类的数据表,我这里采用的是id.name.pid这种类型(当然还有很多种无限分类的方式了,比如:id.name.pid.path.left.right左右节点的形式) CREATE TA ...
- php递归方法实现无限分类实例
数组: 代码如下 复制代码 $items = array( array('id' => 1, 'pid' => 0, 'name' => '一级11' ), array('id' ...
- PHP+Mysql无限分类的方法汇总
无限分类是个老话题了,来看看PHP结合Mysql如何实现.第一种方法这种方法是很常见.很传统的一种,先看表结构表:categoryid int 主键,自增name varchar 分类名称pid in ...
- PHP全路径无限分类导航LINK代码实现
<?php /** * @param php全路径无限分类 */ include('db.inc.php'); function getPathCate($cateid){ $sql = &qu ...
随机推荐
- kylin的状态栏(启动器)改成ubuntu之前的样子
ylin的状态栏(启动器)改成ubuntu之前的样子,ubuntu是在左边的,kylin在底部.占空间. 执行命令 gsettings set com.canonical.Unity.Launcher ...
- Redis 密码设置
如果不加密码,默认只能本机访问,加密码也是为了安全考虑 1.进入Redis 的安装目录,找到redis.conf文件.用vi命令打开文件 输入 / requirepass 进行查找,输入n查找下一个 ...
- win7系统损坏无法进入系统(dsark.sys文件损坏)(未测试过)
原文:http://blog.csdn.net/foreverhuylee/article/details/37913837 电脑今天突然开不了机,出现一下画面 即提示d:\Windows\syste ...
- 读取 classes下的配置文件
调用: Configure.getValue("discount.strategy.class"); 配置类: package com.util; import com.sun.j ...
- PCL特征点与配准(1)
关于输入一个具体的物体的点云,从场景中找出与该物体点云相匹配的,这种方法可以用来抓取指定的物体等等,具体的代码的解释如下,需要用到的一些基础的知识,在之前的博客中都有提及,其中用到的一些方法可以翻阅前 ...
- 即时通信(IM)和实时通信(RTC)的区别
即时通信(IM=nstant messaging)和实时通信(rtc=Real-time communication)都是一套网络通信系统,其本质都是对信息进行转发.其最大的不同点,是对信息传递的时间 ...
- Qt封装QTcpServer参考资料--QT自带QTcpServer架构分析
Qt 4.6自带的threaddedfortuneserver是个简单明了的 Qt C/S网络编程server端程序的例子, 该例子演示了 QTcpServer与QThread配合的方法. 代码不多 ...
- ZARM in Linux & MIUI
zram是Linux内核的一个模块,之前被称为“compcache”.zram通过在RAM内的压缩快设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能.由于zram可以用内 ...
- [Python学习]Iterator 和 Generator的学习心得
[Python学习]Iterator 和 Generator的学习心得 Iterator是迭代器的意思,它的作用是一次产生一个数据项,直到没有为止.这样在 for 循环中就可以对它进行循环处理了.那么 ...
- 【转】Android开发,按手机上的back键时程序最小化而不退出
@Override public boolean dispatchKeyEvent(KeyEvent event) { // menuUtils.createTwoDispatcher(event); ...