Home > php教程 > php手册 > body text

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

WBOY
Release: 2016-06-06 20:16:46
Original
1311 people have browsed it

本文从数据库设计,代码编写到效果图详细介绍了php实现无限极分类的全过程,图文并茂,是篇值得推荐的文章,小伙伴们拿走参考下吧

一般来说实现无限极分类都是使用递归或者迭代的方式,小伙伴们看下本文的实现方式吧。

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 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,效果图:

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!