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 相关文章推荐
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
PHP cron中的批处理
Sep 16 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
php 无法载入mysql扩展
Mar 12 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
php实现数组筛选奇数和偶数示例
Apr 11 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
php使用json-schema模块实现json校验示例
Sep 28 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模块memcached使用指南
2014/12/08 PHP
php中session定期自动清理的方法
2015/11/12 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python json模块使用实例
2015/04/11 Python
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
python with语句的原理与用法详解
2020/03/30 Python
降低python版本的操作方法
2020/09/11 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
美国玩具公司:U.S.Toy
2018/05/19 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
解除劳动合同协议书
2014/04/14 职场文书
先进教师事迹材料
2014/12/16 职场文书
2014年生产部工作总结
2014/12/17 职场文书
庆六一开幕词
2015/01/29 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
初三数学教学反思
2016/02/17 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python