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 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
laravel添加前台跳转成功页面示例
Oct 22 PHP
laravel中的fillable和guarded属性详解
Oct 23 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
php5.3 废弃函数小结
2010/05/16 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php header函数的常用http头设置
2015/06/25 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
AngularJS基础知识
2014/12/21 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
Python随机数函数代码实例解析
2020/02/09 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
软件测试笔试题
2012/10/25 面试题
会议开场欢迎词
2014/01/15 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
节能减排倡议书
2014/04/15 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
2015年幼师工作总结
2015/04/28 职场文书
2015年法务工作总结范文
2015/05/23 职场文书