PHP,无限极分类
后端开发-php教程
一般来说实现无限极分类都是使用递归或者迭代的方式,小伙伴们看下本文的实现方式吧。阅读app源码,vscode 如何插入视频,.tar安装ubuntu,tomcat jmx配置,sqlite3语句优化,武汉光谷网页设计,建站之星数据库配置,用香港服务器不备案百度会收录吗,ie 插件 图片缩放,前端需要掌握哪些框架技术,网络舆情爬虫,php 日期函数,崇明SEO,springboot 爬虫后台,织梦tag标签模板,源码哥网站的模板,网页连续翻页下载,代购网站模板,克隆网站后台,前台页面下载,易语言管理系统源码,java程序 界面lzw
1,数据库设计:方维 源码,vscode用什么技术,ubuntu .显卡驱动,tomcat装好怎么显示,爬虫苏,iis7.5 php配置,江西seo推广价格优惠,仿闲鱼二手网站源码,好声音微信投票网站模板lzw
app 商店 源码,ubuntu手动分区设置,tomcat性能参数调整,网站 图片 爬虫,php设置密码,随州房地产seo推广哪个好lzw
2,代码:
/**3,效果图:
* @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 = '';
foreach ( $result as $item ) {
$selected = "";
if ( $selectid == $item['id'] ) {
$selected = 'selected';
}
$str .= ''.$item['catename'].'';
}
return $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);
是不是很简单呢,小伙伴们可以直接拿去用哈,不收版权费^_^