mysql和php无限分类 数据归类 输出

信创服务器(麒麟 V10 SP3)安装 NVIDIA GeForce RTX 5070 驱动 本文介绍了在麒麟V10 SP3系统上安装NVIDIA RTX 5070显卡驱动的详细步骤。首先需要关闭nouveau驱动,安装必要的编译环境和工具,确保内核版本与kernel-devel完全一致。最后运行NVIDIA驱动安装程序,关键选择包括启用DKMS支持、编译模块、禁用32位兼容和nouveau驱动。整个流程适用于海光CPU和Blackwell架构GPU的国产操作系统环境。 阅读详情

说明在先:数据整合部分参考了网上博客;但是数据输出是自己写的,使用了递归;

数据归类解释:利用pid(子级)=id(父级);让子级循环的时自己去找父级在哪儿,然后加入其中;

递归:里面需要注意,flag(|–)的问题,下一个父级兄弟要少一个flag(|–)

数据表结构:

CREATE TABLE `NewTable` (
`id`  int(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`pid`  int(10) UNSIGNED NOT NULL ,
`name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
PRIMARY KEY (`id`),
INDEX `pid` (`pid`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=1
ROW_FORMAT=COMPACT;

源数据

INSERT INTO `test1` VALUES (1, 0, 'menu1');
INSERT INTO `test1` VALUES (2, 0, 'menu2');
INSERT INTO `test1` VALUES (3, 0, 'menu3');
INSERT INTO `test1` VALUES (4, 0, 'menu4');
INSERT INTO `test1` VALUES (5, 0, 'menu5');
INSERT INTO `test1` VALUES (6, 0, 'menu6');
INSERT INTO `test1` VALUES (7, 1, 'menu1-1');
INSERT INTO `test1` VALUES (8, 1, 'menu1-2');
INSERT INTO `test1` VALUES (9, 1, 'menu1-3');
INSERT INTO `test1` VALUES (10, 7, 'menu7-1');
INSERT INTO `test1` VALUES (11, 7, 'menu7-2');
INSERT INTO `test1` VALUES (12, 7, 'menu7-3');
INSERT INTO `test1` VALUES (13, 7, 'menu7-4');
INSERT INTO `test1` VALUES (14, 10, 'menu10-1');
INSERT INTO `test1` VALUES (15, 10, 'menu10-2');
INSERT INTO `test1` VALUES (16, 10, 'menu10-3');
INSERT INTO `test1` VALUES (17, 8, 'menu8-1');

php代码:基于TP5框架

<?php

namespace app\index\controller;

use app\index\model;
use think\Db;
use think\Debug;

class Index 
{
    public function index()
    {
    	$res = Db::table('test1')->select();
    	
    	//新数组:自身id当作key,以便下面操作
    	$tree = array();
    	foreach ($res as $key => $val) {
			$tree[$val['id']] = $val;
			$tree[$val['id']]['children'] = array();
	   	}

        //将有pid的元素,整合到对应的pid=id(这一步是最重要的)
	   	foreach ($tree as $key => $val) {
	   		if ($val['pid'] != 0) {
	   			$tree[$val['pid']]['children'][] = &$tree[$key];//$val['pid']=$key;等价于:pid=id
	   		}
	   	}

        //去除tree中有pid的元素,因为他们已经被归类了;
	   	foreach ($tree as $key => $val) {
	   		if ($val['pid']==0) continue; 
   			unset($tree[$key]);
	   	}

	   	$temp = array();
	   	$grup = '';
	   	$flag = '|--';


	   	$this->recursive($tree,$temp,$grup,$flag);
	   	var_dump($temp);exit;

    }

    public function recursive($data,&$temp,&$division,$flag)
    {
    	$diviT = $division;
	   	if(reset($data)['pid']!=0) $division .= $flag;

	   	foreach ($data as $key => $val) {
			$temp[] = $division.$val['name'];
	   		if (is_array($val['children'])) {
	   			$this->recursive($val['children'],$temp,$division,$flag);
	   		}
	   	}

	   	$division = $diviT;
	   	return false;

    }

}

新数组输出如下:

array(17) {
  [0] => string(5) "menu1"
  [1] => string(10) "|--menu1-1"
  [2] => string(13) "|--|--menu7-1"
  [3] => string(17) "|--|--|--menu10-1"
  [4] => string(17) "|--|--|--menu10-2"
  [5] => string(17) "|--|--|--menu10-3"
  [6] => string(13) "|--|--menu7-2"
  [7] => string(13) "|--|--menu7-3"
  [8] => string(13) "|--|--menu7-4"
  [9] => string(10) "|--menu1-2"
  [10] => string(13) "|--|--menu8-1"
  [11] => string(10) "|--menu1-3"
  [12] => string(5) "menu2"
  [13] => string(5) "menu3"
  [14] => string(5) "menu4"
  [15] => string(5) "menu5"
  [16] => string(5) "menu6"
}
龙腾CMS downloadFile接口任意文件读取漏洞复现 [附POC] 大连网龙网络科技有限公司专注于在信息科技领域中向客户提供商业解决方案,是专业的互联网服务解决方案提供商和网络营销服务专家,为用户提供一体化的网络营销整体解决方案,龙腾CMS downloadFile接口存在任意文件读取漏洞。 阅读详情

相关推荐

AB相增量式编码器以及STM32定时器编码器模式测速/测距离(HAL库)

编码器(Encoder)是一种用于测量旋转运动或位置的设备。编码器通常与定时器模块一起使用,以便在微控制器中获取和计算旋转的脉冲数量,从而确定物体的运动方向和距离。编码器在许多应用中都很有用,例如机器人运动控制、电机位置反馈和位置传感。STM32微控制器提供了多种类型的编码器支持,其中一种常见的编码器类型是增量编码器。增量编码器基于两个脉冲信号通道,通常称为A相和B相。当旋转发生时,这两个信号通道的相位关系会发生变化,从而可以计算出旋转方向和旋转的步数。

嵌入式软件工程师的博客 1万+

PHP 无限级分类

【代码】PHP 无限级分类。

qq_32450471的博客 1019

UVC协议在STM32H7上的移植实战案例

手把手带你把UVC协议移植到STM32H7平台,重点解决USB高速枚举、视频流控制与YUV数据打包等关键问题。基于HAL库实现符合UVC 1.5规范的即插即用摄像头功能,让嵌入式设备轻松变身标准UVC视频源。

weixin_42437253的博客 397

PHP数据分类汇总

/** * 二维数据分类汇总 * @description:根据数据 * @param {dataArr:需要分组的数据;keyStr:分组依据键值} * @return: */ public function dataGroup(array $dataArr, $keyStr) { $newArr =...

Harry Blog 800

ROS2仿真抓取分拣案例,使用myCobot 280机械臂结合ROS2系统搭建机械分拣站

本案例展示了如何利用myCobot 280 urdf模型构建一个对象分类站,并在ROS2 jazzy中完成运动规划。

m0_71627844的博客 2125

高速PCB差分对布线仿真实战案例

差分对布线是高速PCB设计的关键环节,直接影响信号完整性与EMI性能。本文结合实际项目,详解等长控制、阻抗匹配、间距优化等核心技巧,并通过仿真工具验证眼图、串扰和时序裕量,助力工程师规避常见高速pcb设计陷阱。

weixin_29092787的博客 349

PHP递归实现无限级分类

一个电商网站的分类可以是:服装、鞋类、家居用品等,而服装分类下又可以进一步划分成男装、女装、童装等子分类,男装分类下又可以划分成衬衫、T恤、外套等子分类,这样就形成了多层次的无限级分类。无限级分类是一种对商品或信息进行分类的方式,在这种分类方式中,每个分类都可以再次细分出更多的子分类,形成无限的级别。在PHP中实现无限级分类可以使用递归的方法来实现。下面是一个简单的示例:

php-yyds 1215

基于Keil软件实现OLED显示(江协科技HAL库)

没有HAL库的OLED驱动文件,可以看过来

2401_82728381的博客 1452

php 实现无限极分类树 (引用和递归)

这里首先介绍一下,什么是无限极分类? 无限极分类简单点说就是一个类可以分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一些个文件夹,在文件夹底下还可以建一些文件夹一样 示例如图: 那PHP又是如何实现它的无限分类的呢?如何把它的各个分类一一列出来呢? 方法一、递归思想 PHP大部分人用递归来写生成树,不过PHP默认最多递归次数为100,并不是理论上的无限,其次递归的内存占有过大,php的内存分配...

harris_lele的博客 3664

【软考】高项论文写作常见模板

本文主要介绍了YYYY年MM月DD日,我所在公司承接了XXXX项目的建设过程,包括了XXX,XXX,XXX内容,涉及到XXX,XXX,XXX技术。本人在项目中承载着项目经理的角色,主要负责了XXX,XXX,XXX方面事宜。此项目时间紧,任务重,实施过程中,我们特别注重了1、XXX 2、XXX 3、XXX几个方面,经过团队的一致努力,本项目按时交付,运行至今,客户反馈良好。但是在实施过程中,也曝露除了一些问题,包括了XXX,XXX等,通过应急处理和协调,这些问题都得到了妥善解决,没有影响到项目进度。

奶爸的编程之路,也就一周冷个三天 1686

【架构】-- StarRocks 和 Doris 介绍与选型建议

查询性能 | ✅ 高性能,支持向量化执行和 CBO 优化器 | ✅ 高性能,优化的查询引擎 |- **实时性要求高**:如果业务对数据的实时性要求较高,建议选择 **StarRocks**,其在实时数据处理和低延迟查询方面表现优越。- **复杂查询需求**:对于需要处理复杂多表关联查询的场景,两者均可胜任,需根据具体性能测试结果进行选择。

欢迎来到我的博客,一起探索代码里的世界! 1831

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 C

L小臣的博客 310

【数据集4】GSWP3数据集详解

简介GSWP3数据集

WW、forever的博客 1366

将数据库归类php代码,深入学习mysql和php无限分类数据归类输出实例

本文主要向大家介绍了mysql和php无限分类数据归类输出实例,通过具体的代码向大家展示,希望对大家学习mysql有所帮助。说明在先:数据整合部分参考了网上博客;但是数据输出是自己写的,使用了递归;数据归类解释:利用pid(子级)=id(父级);让子级循环的时自己去找父级在哪儿,然后加入其中;递归:里面需要注意,flag(|–)的问题,下一个父级兄弟要少一个flag(|–)数据表结构:CREATE...

weixin_39835321的博客 114

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

php归类输出,mysql和php无限分类数据归类输出实例讲解

说明在先:数据整合部分参考了网上博客;但是数据输出是自己写的,使用了递归;数据归类解释:利用pid(子级)=id(父级);让子级循环的时自己去找父级在哪儿,然后加入其中;递归:里面需要注意,flag(|–)的问题,下一个父级兄弟要少一个flag(|–)数据表结构:CREATE TABLE `NewTable` (`id` int(10) UNSIGNED NOT NULL AUTO_INCREM...

weixin_42382398的博客 213

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

PHP+Mysql无限分类的方法汇总

无限分类是个老话题了,来看看PHP结合Mysql如何实现。第一种方法这种方法是很常见、很传统的一种,先看表结构表:categoryid int 主键,自增name varchar 分类名称pid int 父类id,默认0顶级分类的 pid 默认就是0了。当我们想取出某个分类的子分类树的时候,基本思路就是递归,当然,出于效率问题不建议每次递归都查询数据库,通常的做法是先讲所有分类取出来,保...

iDark 的博客空间 147

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

php mysql 分类_PHP+Mysql无限分类的方法汇总

无限分类是个老话题了,来看看PHP结合Mysql如何实现。第一种方法这种方法是很常见、很传统的一种,先看表结构表:categoryid int 主键,自增name varchar 分类名称pid int 父类id,默认0顶级分类的 pid 默认就是0了。当我们想取出某个分类的子分类树的时候,基本思路就是递归,当然,出于效率问题不建议每次递归都查询数据库,通常的做法是先讲所有分类取出来,保存到PHP...

weixin_27283495的博客 147

MySQL数据库与PHP综合应用

网站数据库是重要的配置文件。我们需要重点了解并学会结合PHP去进行操作。本篇重点介绍了MySQL数据库以及如何去灵活应用。

2303_76600842的博客 2765

TP5数据库四个字段实现无限分类

效果:CREATE TABLE `NewTable` ( `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT , `pid` int(10) UNSIGNED ZEROFILL NOT NULL , `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `pat...

Jesse技术博客 4900

PHP和MySQL处理树状、分级、无限分类、分层数据的方法

文章标题中的多个词语表达的其实是一个意思,就是递归分类数据,分级数据非常类似数据结构中的树状结构,即每个节点有自己的孩子节点,孩子结点本身也是父亲节点。这是一个递归、分层形式。可以称之为树形层级数据。 层级数据结构是编程语言中非常普通的一种数据结构,它代表一系列的数据每一项都有一个父亲节点(除了根节点)和其他多个孩子结点。WEB开发人员使用层级数据结构用于非常多的场景,包括内容管理系统CMS

tomyjohn的专栏 3636

mysql一对多分类_mysql一对多结果归类

我从数据库里面查出来很多数据,都是一条一条的,是一个二维数组,格式如下:Array([0] => Array([id] => 29[user_id] => 1[car_no] => 234567)[1] => Array([id] => 21[user_id] => 1[car_no] => 23565)[2] => Array([id] =&...

weixin_29495679的博客 321

php mysql表的标题,PHP怎么让mysql数据表自动归类?

有两个表商品数据表 goods:title,商品标题。brand,品牌idid title brand1 化妆品欧莱雅65号 12 化妆品温碧泉753 化妆品雅琳娜454 化妆品香奈儿45 25 化妆品欧诗漫22品牌表 brandid name1 欧莱雅2 香奈儿3 温碧泉4 雅琳娜5 欧诗漫用PH...

weixin_39905037的博客 106

nginx和php和mysql_详解nginx、php-fpm和mysql用户权限

通常情况下,我们运行web应用的服务器有CentOS、Ubuntu、Debian等等的Linux发行版本。这时候,构成服务架构所必须的Nginx、php和MySQL等应用的权限控制就显得非常重要,各个服务对代码目录的权限要求各不相同,缺少某些权限会造成服务无法读写或运行的错误,降低了权限要求又会存在被入侵修改的隐患。这里我们就来总结一下nginx、php-fpm和mysql等等这些服务的权限划分。...

weixin_30516835的博客 193

php mysql 统计_PHP实现的统计数据功能详解

本文实例讲述了PHP实现的统计数据功能。分享给大家供大家参考,具体如下:统计,就是把基本的数据,整合起来。用到sql的,有group by 功能,count功能,order by功能等等。sql将收集的数据,进行统计分析。一般情况下,sql处理后得到的数据,还要通过php的逻辑来进行整理。以一定的格式,展示到前台。一般都是以数组的方式展示,这也是数据结构的概念。看这张图片,基本想想结构大概为{上线...

weixin_42127937的博客 1098

php 自动分类类,PHP怎么让mysql数据表自动归类?

有两个表商品数据表 goods:title,商品标题。brand,品牌idid title brand1 化妆品欧莱雅65号 12 化妆品温碧泉753 化妆品雅琳娜454 化妆品香奈儿45 25 化妆品欧诗漫22品牌表 brandid name1 欧莱雅2 香奈儿3 温碧泉4 雅琳娜5 欧诗漫用PH...

weixin_33393017的博客 171

php 表格 筛选,excel表格中筛选归类_如何将数据从mysql数据库导出成excel格式?是php的...

php中如何将execl的数据导入到数据库中1.使用PHPExcelParserPro软件,但是这个软件收件;2.可将EXCEL表保存为CSV格式,然后通过phpmyadmin或者SQLyog导入,SQLyog导入的方法为:·将EXCEL表另存为CSV形式;·打开SQLyog,对要导入的表格右击,点击“导入”-“导入使用加载本地CSV数据”;·在弹出的对话框中,点击“改变..”,把选择“填写exc...

weixin_31688465的博客 325
上一篇: PHPSTROM Xdebug 安装
下一篇: 最新JS和PHP交互AES加密解密数据
codeDig
博客等级 码龄10年 3粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值