加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:12:10 所属栏目:PHP教程 来源:网络整理
导读:《:PHP实现无限极分类图文教程》要点: 本文介绍了:PHP实现无限极分类图文教程,希望对您有用。如果有疑问,可以联系我们。 一般来说实现无穷极分类都是使用递归或者迭代的方式,小伙伴们看下本文的实现方式吧. PHP学习 1,数据库设计: PHP进修 PHP进修 PHP

《:PHP实现无限极分类图文教程》要点:
本文介绍了:PHP实现无限极分类图文教程,希望对您有用。如果有疑问,可以联系我们。

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

1,数据库设计:PHP进修

PHP进修

PHP进修

2,代码:PHP进修

代码如下:
/**
?* @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,strlen($str) - 1);
}
?echo displayLists(0,3);
?echo displayCategory(13);

3,效果图:

PHP进修

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

欢迎参与《:PHP实现无限极分类图文教程》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读