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脚本
Nov 26 PHP
PHP 一个随机字符串生成代码
May 26 PHP
php的大小写敏感问题整理
Dec 29 PHP
处理单名多值表单的详解
Jun 08 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
PHP简单验证码功能机制实例详解
Mar 27 PHP
Laravel框架查询构造器简单示例
May 08 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
如何离线执行php任务
2017/02/21 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
Python中的Classes和Metaclasses详解
2015/04/02 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
利用python画出折线图
2018/07/26 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
python Django 创建应用过程图示详解
2019/07/29 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
车间工艺员岗位职责
2013/12/09 职场文书
运动会致辞稿50字
2014/02/04 职场文书
租赁协议书范本
2014/04/22 职场文书
社团活动总结范文
2014/04/26 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
2014年纪检工作总结
2014/11/12 职场文书
婚庆主持词大全
2015/06/30 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python