• 技术文章 >后端开发 >php教程

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

    2016-05-31 19:27:10原创348
    一般来说实现无限极分类都是使用递归或者迭代的方式,小伙伴们看下本文的实现方式吧。

    1,数据库设计:

    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 = '';
    } /**
    * 从子类开始逐级向上获取其父类
    * @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 .= ''.$item['catename'].'>';
    }
    return substr($str, 0, strlen($str) - 1);
    }
    echo displayLists(0, 3);
    echo displayCategory(13);

    3,效果图:

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:PHP 无限极分类
    上一篇:thinkphp3.2.2前后台公用类架构问题分析_PHP 下一篇:PHP自定session保存路径及删除、注销与写入的方法_PHP
    大前端线上培训班

    相关文章推荐

    • 问:一个天才的有关问题可以用php得到msn中好友的信息吗• php缓存ob系列函数辨析(转载)• PHP ServerPush (推送) 技术的研讨 • 求解答~该怎么处理 • windows停制作PHP扩展

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网