PHP实现无限极分类图文教程


Posted in PHP onNovember 25, 2014

一般来说实现无限极分类都是使用递归或者迭代的方式,小伙伴们看下本文的实现方式吧。

1,数据库设计:

PHP实现无限极分类图文教程

PHP实现无限极分类图文教程

2,代码:

/** 
 * @author koma 
 * @todo   PHP无限极分类 
 */ $cn = mysql_connect('localhost', 'root', '') or die(mysql_error()); 
mysql_select_db('t', $cn) or die(mysql_error()); 
mysql_query('set names utf8'); 
 /** 
 * 从顶层逐级向下获取子类 
 * @param number $pid 
 * @param array $lists 
 * @param number $deep 
 * @return array 
 */ function getLists($pid = 0, &$lists = array(), $deep = 1) { 
    $sql = 'SELECT * FROM category WHERE pid='.$pid; 
    $res = mysql_query($sql); 
    while ( ($row = mysql_fetch_assoc($res)) !== FALSE ) { 
        $row['catename'] = str_repeat('   ', $deep).'|---'.$row['catename']; 
        $lists[] = $row; 
        getLists($row['id'], $lists, ++$deep); //进入子类之前深度+1         --$deep; //从子类退出之后深度-1     } 
    return $lists; 
} 
 function displayLists($pid = 0, $selectid = 1) { 
    $result = getLists($pid); 
    $str = '<select>'; 
    foreach ( $result as $item ) { 
        $selected = ""; 
        if ( $selectid == $item['id'] ) { 
            $selected = 'selected'; 
        } 
        $str .= '<option '.$selected.'>'.$item['catename'].'</option>'; 
    } 
    return $str .= '</select>'; 
} /** 
 * 从子类开始逐级向上获取其父类 
 * @param number $cid 
 * @param array $category 
 * @return array: 
 */ function getCategory($cid, &$category = array()) { 
    $sql = 'SELECT * FROM category WHERE id='.$cid.' LIMIT 1'; 
    $result = mysql_query($sql); 
    $row = mysql_fetch_assoc($result); 
    if ( $row ) { 
        $category[] = $row; 
        getCategory($row['pid'], $category); 
    } 
    krsort($category); //逆序,达到从父类到子类的效果     return $category; 
} 
 function displayCategory($cid) { 
    $result = getCategory($cid); 
    $str = ""; 
    foreach ( $result as $item ) { 
        $str .= '<a href="'.$item['id'].'">'.$item['catename'].'</a>>'; 
    } 
    return substr($str, 0, strlen($str) - 1); 
} 
 echo displayLists(0, 3); 
 echo displayCategory(13);

3,效果图:

PHP实现无限极分类图文教程

是不是很简单呢,小伙伴们可以直接拿去用哈,不收版权费^_^

PHP 相关文章推荐
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
PHP内存使用情况如何获取
Oct 10 PHP
PHP中的session安全吗?
Jan 22 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
May 12 PHP
实例讲解php实现多线程
Jan 27 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 #PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 #PHP
thinkphp判断访客为手机端或PC端的方法
Nov 24 #PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 #PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 #PHP
thinkphp循环结构用法实例
Nov 24 #PHP
thinkphp特殊标签用法概述
Nov 24 #PHP
You might like
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
JavaScript中window.open用法实例详解
2015/04/15 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
用Python制作在地图上模拟瘟疫扩散的Gif图
2015/03/31 Python
Python多线程下载文件的方法
2015/07/10 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
pip安装python库的方法总结
2019/08/02 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
python判断无向图环是否存在的示例
2019/11/22 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
立项申请报告范本
2015/05/15 职场文书
2019各种保证书范文
2019/06/24 职场文书