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代码
Dec 06 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
php中adodbzip类实例
Dec 08 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
PHP Smarty模版简单使用方法
Mar 30 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
Laravel框架实现的批量删除功能示例
Jan 16 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中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
Python 26进制计算实现方法
2015/05/28 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
编辑个人求职信范文
2013/09/21 职场文书
后勤岗位职责
2013/11/26 职场文书
小学班主任寄语大全
2014/04/04 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
法制工作总结2015
2015/07/23 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers