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 ...
随机推荐
- 真机调试报错error ==Error Domain=NSURLErrorDomain Code=-1009 "似乎已断开与互联网的连接。"
真机调试报错error ==Error Domain=NSURLErrorDomain Code=-1009 "似乎已断开与互联网的连接." 请注意,错误代码是-1009,网上关于 ...
- 随手记Swift基础和Optional Type(问号?和感叹号!)
距离Apple推出Swift已经有几天了,网上也时不时出现"急招Swift程序猿,要求有一天工作经验"的帖子. 看到Swift,除了苹果放的另外一门语言的链接(http://swi ...
- mongo 操作小结
这里总结一下mongo常用操作语句,分享给大家和我自己~ 打印系统,数据库,集合的信息 db.stats() 打印数据库状态 db ...
- sublime双击选择全选带中划线
// Characters that are considered to separate words "word_separators": "./\\()\" ...
- c#获取网页代码、数据、资源
//WebClient取网页源码 private string GetHtmlSource(string Url) { try { System.Net.WebClient wc = new Syst ...
- [算法]和为S的连续正数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...
- 初试 spring web mvc
作为一名code需要了解更多的知识,编程方面的东西太多了,是个逐渐积累的过程.最近学习一下spring web mvc,写下我个人的一些经验. 1.准备jar包.spring mvc 已经到了版本4, ...
- Unicode编码:保存中文cookie
中文和英文字符不同,中文属于Unicod字符,在内存中站4个字符,而英文属于ASCII字符,内存中只占2个字符.Cookie中使用Unicode字符时需要对Unicode字符进行编码,否则会乱码.编码 ...
- Oracle 语句中“||”代表什么啊?
Oracle 语句中“||”代表什么啊? Oracle 语句中“||”代表什么啊?跟ServerSQL中的字符串的连接符“+”是一个概念么? 1. 恩是的 是一个含义...select '1'||'2 ...
- node学习笔记3——文件操作fs
文件操作关键字: http('fs') —— 请求 node 里面的 http 模块 readFile —— 读文件,参数包括 文件名,回调函数 writeFile —— 写文件,参数包括 文件 ...