PHP实现无限极分类图文教程
网络编程 2021-07-05 09:50www.168986.cn编程入门
本文从数据库设计,代码编写到效果图详细介绍了php实现无限极分类的全过程,图文并茂,是篇值得推荐的文章,小伙伴们拿走参考下吧
实现无限极分类都是使用递归或者迭代的方式,小伙伴们看下本文的实现方式吧。
1,数据库设计
2,代码
代码如下:
/
@author koma
@todo PHP无限极分类
/ $ = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('t', $) 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, 0, strlen($str) - 1);
}
echo displayLists(0, 3);
echo displayCategory(13);
@author koma
@todo PHP无限极分类
/ $ = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('t', $) 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, 0, strlen($str) - 1);
}
echo displayLists(0, 3);
echo displayCategory(13);
3,效果图
是不是很简单呢,小伙伴们可以直接拿去用哈,不收版权费^_^
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程