php 无限分类不使用递归

php 无限分类递归树形(稳定版) array(4) { [0] => array(4) { ["id"] => int(3) ["name"] => string(6) "餐厅" ["pid"] => int(1) ["sort"] => int(50) } [1] => array(4) { ["id"] => int(2) ["name"] => string(6) " 阅读详情
建立表
CREATE TABLE IF NOT EXISTS `category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `catpath` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;

插入数据
INSERT INTO `category` (`id`, `catpath`, `name`) VALUES
(1, '0', '网站首页'),
(2, '0-1', 'Linux OS'),
(3, '0-1', 'Apache服务器'),
(4, '0-1', 'MySQL数据库'),
(5, '0-1', 'PHP脚本语言'),
(6, '0-1-2', 'Linux 系统教程'),
(7, '0-1-2', 'Linux 网络技术'),
(8, '0-1-2', 'Linux 安全基础'),
(9, '0-1-2-7', 'Linux LAMP'),
(10, '0-1-3-10', 'apache Server');

显示为select框的形式
$sql = "select id,concat(catpath,'-',id) as abspath,name from category order by abspath";
$query = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $query ) ) {
    $space = str_repeat ( '  &nbsp ', count ( explode ( '-', $row ['abspath'] ) ) - 1 );
    $option .= '' . $space . $row ['name'] . '';
}
echo <select name=opt>  $option </select>

基本原理就是先将数据按照父、子的方式查询出来,这时候的数据已经有了层级关系但是显示的话就需要再做一些处理了,abspath里面的‘-’号越多,代表层级越深,这时候可以根据里面的‘-’的多少,在这个分类的前面加上对应的空格,这样层级关系就展现出来了。
解决Thingsboard数据下发难题:自定义RPC请求格式的3种方法(含源码修改指南) 本文详细介绍了解决Thingsboard数据下发难题的3种自定义RPC请求格式方法,包括规则链脚本转换、TB-Gateway中间层转换和源码级定制方案。通过实际案例和性能对比,帮助开发者根据项目需求选择最适合的解决方案,提升物联网平台与设备的兼容性。 阅读详情

相关推荐

遗传算法驱动吃豆人进化:从零构建AI游戏智能体

遗传算法是一种模拟自然选择过程的优化技术,其核心原理是通过选择、交叉和变异等操作,在解空间中迭代搜索最优解。该技术为解决复杂优化问题提供了强大工具,尤其在游戏AI、机器人控制和参数调优等场景中价值显著。在游戏AI领域,遗传算法常被用于训练智能体自主决策,例如在经典游戏《吃豆人》中,通过定义智能体的“基因”(如神经网络权重)和“适应度”(如游戏得分),可以引导其进化出躲避幽灵、高效吃豆等策略。本项目结合Pygame框架与神经网络,构建了一个完整的遗传算法训练沙盒,详细展示了如何通过适应度函数设计和参数调优,实

weixin_30467199的博客 273

php 递归函数

/** *递归获取指定分类下的子类 *@params $categories array 全部分类的数组 *@params $parent_id int 父类id 默认为顶级分类 *@return $arr array 获取到的子类数组 **/ function get_child_category($categories,$parent_id=0){     static $arr

Huangwenting1990的博客 670

TSMC65nm工艺下Virtuoso仿真gm-id曲线的保姆级教程(含ADE设置详解)

本文提供了一份在TSMC 65nm工艺下使用Cadence Virtuoso绘制gm-id曲线的详细教程。内容涵盖从理解gm/id方法学、搭建仿真环境、深度解析ADE设置,到运行DC仿真、提取数据并生成对数坐标曲线的完整流程。教程重点解析了Virtuoso ADE中的关键设置与常见避坑点,旨在帮助模拟集成电路设计初学者快速掌握这一核心设计工具,为高性能电路设计奠定基础。

grpc6streamer的博客 1174

无限级分类-非递归

[CODE:]表menu_cls该表结构如下图:CREATE TABLE IF NOT EXISTS `menu_cls` (  `id` int(4) NOT NULL auto_increment,  `parent_id` int(4) NOT NULL default 0,  `level` int(4) NOT NULL default 0,  `path` varc

重剑无锋,大巧不工。。。 3140

PaddleOCR实战指南:从环境搭建到自定义模型训练

本文提供了PaddleOCR从环境搭建到自定义模型训练的完整实战指南。详细介绍了使用Anaconda或Docker搭建稳定开发环境、准备与标注数据集、进行文本检测与识别模型训练的核心步骤与参数调优技巧,并分享了数据增强、模型微调及解决实际项目难题的实用方法,帮助开发者高效掌握PaddleOCR应用。

gold的博客 644

com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn‘t retrieve inbound binding

错误消息:错误截图:该错误通常表示在集成配置中,未找到与特定消息匹配的入站绑定(Inbound Binding)。具体而言,错误消息中的 P/S/A(Party/Service/Action)值未在配置中找到对应的入站绑定。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 373

AI漫剧制作全流程指南:从剧本到成片的零基础实操教程

随着AI视频生成技术的快速发展,内容创作的门槛正在被大幅降低。过去,制作一部动画短剧或漫画视频需要编剧、原画师、动画师等多人协作,如今借助AI绘画、图生视频、语音合成等工具,个人创作者也能独立完成从创意到成片的完整链路。其核心原理在于,将传统动画的复杂流程重构为“剧本创作、分镜拆解、图像生成、动态化处理、后期合成”五个标准化环节,其中高质量分镜脚本的拆解能力与AI绘画参数的控制,是确保角色一致性与画面稳定性的技术关键。这项技术不仅适用于短视频创作者快速产出内容,也为小团队承接商业定制、影视动画专业学生验证创

weixin_34174322的博客 678

【经验&技巧】IBIS AMI模型眼图仿真问题探讨

在ADS的仿真环境中,不论发送和接收的AMI模型是否为true或者false,都可以将通道仿真设置为统计模式,但是,如果有一方的Init函数为false,在统计模式下,处于false状态的模型将不能执行其自带的后处理功能,如下图所示,左边的统计模式和右边的逐比特模式眼图存在明显的差异,原因在于,接收端的init函数为false导致在统计模式中不能对眼图进行DFE处理,换言之,此时统计模式下的眼图就是未经任何处理的“生图”。

一只豌豆象的博客 1767

PHP中不用递归实现无限极分类

有次网上搜索无限分类,常用的方法是递归,但也有不用递归就能实现的。贴出来大家看下:$items = array(    1 =&gt; array('id' =&gt; 1, 'pid' =&gt; 0, 'name' =&gt; '江西省'),    2 =&gt; array('id' =&gt; 2, 'pid' =&gt; 0, 'name' =&gt; '黑龙江省'),    3 =&g...

yt_php的博客 2453

ETAS工具导入DBC生成Com协议栈

ETAS工具导入DBC主要也是生成arxml用的,ETAS推荐使用Cobra导入,本文介绍导入过程及注意事项不管是导入DBC还是arxml,本质上都是为了生成对应的com协议栈,目的是为了减少重复的工作量,所以,前期定义好收发的矩阵很重要,一般导入一次之后,后面就可以按变更点手动更改了。

赞的博客 1712

【AI Agent系列】【MetaGPT】9. 一句话订阅专属信息 - 订阅智能体进阶,实现一个更通用的订阅智能体(2)

订阅智能体进阶(2)。不用爬虫,直接提取网页信息。从RunSubscription分离出AddSubscriptionTask的action,并且让SubscriptionRunner单独运行。

同学小张的博客 1588

PHP三级联动菜单

//数据库mysql -- 数据库: `student`-- -- -------------------------------------------------------- ---- 表的结构 `student`-- CREATE TABLE `student` (  `id` int(50) NOT NULL auto_increment,  `name` varchar(50)...

weixin_34372728的博客 185

Unity之ASE如何实现UV扰动闪电效果

UV扰动,顾名思义,就是通过干扰原贴图的UV,使UV发生变化,导致贴图出现会动的效果,如果我们贴图和扰动的速度调整的刚好合适的话,会出现一些非常棒的效果,比如下图所示的闪电效果:好了,一个简单的UV扰动就讲完了,同学们可以发挥想象力,我们是否可以利用UV扰动的原理,做一点别的炫酷的效果出来,比如,交错流动,流光效果等等。很期待你的留言,这篇文章就到这里,希望对你有所帮助。

TxNet 1791

用php数组实现无限分类_效率高_不使用数据库_不使用递归,使用PHP数组实现无限分类,不使用数据库,不使用递归....

使用PHP数组实现无限分类,不使用数据库,不使用递归.发布于 2014-09-13 11:43:24 | 155 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PH...

weixin_29817863的博客 131

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...

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

php 评论不使用递归,用php数组实现无限分类,效率高,不使用数据库,不使用递归...

用php数组实现无限分类,效率高,不使用数据库,不使用递归(2012-07-16 13:11:32)标签:数组无限随机数功能构造函数教育分类:PHPclass cat{public $data; //无限分类数组//======================================// 功能: 构造函数.初始化数据//===================================...

weixin_35201342的博客 152

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

用php数组实现无限分类_效率高_不使用数据库_不使用递归,用php数组实现无限分类,效率高,不使用数据库,不使用递归...

class cat{public $data; //无限分类数组//======================================// 功能: 构造函数.初始化数据//======================================public function __construct(){@require "data.php";$this->data = $cla...

weixin_42523104的博客 185

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

php无限分类搜索代码_PHP实现无限级分类(不使用递归)

无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如将文章分类输出为列表形式;查找分类A下面所有分类包含的文章。1.实现原理几种常见的实现方法,各有利弊。其中“改进前序遍历树”数据结构,便于输出和查询,但是在移动分类和常规理解上有些复杂。2.数据结构$list = array(array('id'=>1, 'fid'=>0, 'title'...

weixin_39586265的博客 323

php数组无限,使用php数组实现的无限分类(不使用数据库与用递归)

class cat{public $data;public function __construct(){@include "data.php";$this->data = $class;}public function CreateSortLevel($fatherlevel){if(empty($fatherlevel)){if(is_array($this->data)){$fa...

weixin_34511754的博客 163

5行代码 不用递归实现无限分类数据的树形格式化

5行代码 不用递归实现无限分类数据的树形格式化 我们知道很多开源软件的无限分类都是采用递归的算法,但是我们知道递归即浪费时间,又浪费空间(内存), 上次我也分享了个我自己原创的无限分类生成树的方法,一热心php高手网友给我提出了宝贵的建议,我测试了一下,这段代码的时间非常之短,参考: http://www.oschina.net/code...

weixin_30372371的博客 220

php 无限分类(非递归)

<? /** * 无限分类 * 2011/8/24 * kcj * */ include "../conn/conn.php"; $flpid=$_POST['flpid']; $fltitle=$_POST['title']; $fldes=$_POST['des'];

chaojie2009的专栏 2682

php不使用递归实现无限极分类

无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1、数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pid; 2、php实现《树形查询》《逆向查询》以及给定栏目id《查询下一级》的方法: $mysql = new MySQLi('localhost','root','','test');...

weixin_30702413的博客 186

PHP无限级分类的实现(不使用递归)

无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为&lt;ul&gt;列表形式; 查找分类A下面所有分类包含的文章。 1.实现

linjcai的博客 339

PHP无限分类的原理

什么是无限分类呢?就像windows下新建一个文件夹,在新建的文件夹下又可以新建 一个文件夹,这样无限循环下去,无限分类也是这样,父类可以分出它子类,子类又 可以分出它的子类,这样一直无限循环下去。 那PHP又是如何实现它的无限分类的呢?如何把它的各个分类一一列出来呢? 首先我们假设有这样的一个三级分类,新闻→PHP新闻→PHP6.0出来了。 如果我们要查找“PHP6.0出来了”这条新闻

u012315717的专栏 811
上一篇: 本机链接虚拟机连不通的问题
下一篇: CI 入口文件解析
vm021
博客等级 码龄11年 6粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值