PHP中多级菜单中的无限分类是怎么处理的

一、应用场景


1、导航栏
2、分类(如商品、城市、课程等)
3、文件夹

二、数据库设计


CREATE TABLE `t_cate` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `pid` int(11) NOT NULL COMMENT '父级id',
  `title` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

数据表数据
在这里插入图片描述

三、逻辑思路


在这里插入图片描述

四、代码实现


// 连接数据库
$db = mysqli_connect('127.0.0.1','root','123456','test');
$sql = 'SELECT * FROM t_cate';
$exe_res = mysqli_query($db, $sql);
$data = mysqli_fetch_all($exe_res,MYSQLI_ASSOC);
// print_r($data);
// 循环 判断 递归
function getTree($arr,$pid=0,$level=1){
	static $list = [];
	foreach ($arr as $key => $value) {
		if($value['pid'] == $pid){
			$value['level'] = $level;
			$list[] = $value;
			unset($arr[$key]); // 删除已排好的数据,减少循环次数
			getTree($arr,$value['id'],$level+1);
		}
	}
	return $list;
}

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在WPF创建左侧多级菜单样式可以通过使用TreeView控件来实现。 首先,我们可以在XAML创建一个TreeView控件,并为其设置样式。样式可以定义树形结构的外观、颜色和字体等属性。 接下来,我们需要在TreeView添加树形结构的数据项。可以使用TreeView的ItemsSource属性绑定一个数据集合,例如ObservableCollection或TreeViewItem集合。每个数据项都可以包含子项,从而实现多级菜单。 为了定义每个菜单项的外观,我们可以使用TreeViewItem的ItemContainerStyle属性。在此属性,我们可以设置菜单项的样式,包括背景、边框、字体等。 要创建多级菜单,我们可以使用TreeViewItem的Items属性为每个菜单项添加子菜单。可以嵌套多个TreeViewItem,以实现多级嵌套的菜单结构。 对于菜单项的点击事件,我们可以为每个TreeViewItem添加一个命令或事件处理程序。在点击菜单项时,我们可以执行特定的操作或导航到其他界面。 最后,可以根据需要调整菜单的样式和布局,例如更改字体、字号、行距等。可以使用TreeView的样式属性和模板来自定义菜单的外观和交互方式。 总之,在WPF创建左侧多级菜单样式需要使用TreeView控件,为其设置样式、绑定数据项,并使用TreeViewItem来定义多级菜单结构。通过设置样式和命令/事件处理程序,可以实现菜单项的外观和功能定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值