重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下php实现无限极分类的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联专业提供成都做网站、成都网站建设,网页设计,网站制作(企业站、响应式网站建设、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
php实现无限极分类的方法:首先创建一个PHP示例文件;然后编写逻辑代码;接着从顶层逐级向下获取子类;最后从子类开始逐级向上获取其父类即可实现无限极分类。
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 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实现无限极分类的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!