<?php
header("Content-type:text/html;charset=utf-8");
$db=new mysqli("www.xz768.com","root","","music") ; //实例化一个数据库连接。使用这个前一定要确保已经加载了mysqli类库,或者用mysql_connect这个方式连接。
if(mysqli_connect_errno()){
echo "链接失败:".mysqli_connect_error();
exit(); }
$db->query("set names utf8");
$result=$db->query("select name from class where f_id=0"); //查找f_id=0的分类,也就是查找每一个大类。
while($row=$result->fetch_assoc()){
// echo $row['name']."<br>"; //这样就把每个大类循环出来了。
}
//同样我们可以把新闻的子类循环出来。
$result=$db->query("select * from class where f_id=1"); //查找f_id=1的分类,也就是查找‘新闻’的子类。
while($row=$result->fetch_assoc()){
// echo $row['name']." "; //这样就把‘新闻’的子类循环出来了。注意:只是子类,不包括孙子类。
}
//写到这里,我们会发现一个问题,如果这个分类是10级分类,难道我们要写10个循环把它每个子类循环出来?如果是更多级分类呢,这样写显然是不现实的。
//那又有什么办法解决呢?我们可以写一个递归的函数,把f_id作为参数传入,不断循环每一个f_id的值,也就是说把每一个f_id值的子类循环出来。
//首先我们把各个分类的值保存在一个二维数组中,在下面的递归函数里有用。
$result=$db->query("select * from class");
while($row=$result->fetch_assoc()){
$arr[]=array($row[id],$row[f_id],$row[name]); //每一行保存一个分类的id,f_id,name的信息。
}
function fenlei($f_id=0){ //$f_id初始化为0,也就是从最大分类开始循环.
global $arr; //声明$arr为全局变量才可在函数里引用。
for($i=0;$i<count($arr);$i++){ //对每个分类进行循环。
if($arr[$i][1]==$f_id){ //$arr[$i][1]表示第$i+1个分类的f_id的值。开始$f_id=0,也就是把f_id=0的分类输出来。
echo $arr[$i][2]."<br>"; //$arr[$i][1]表示第$i+1个分类的name的值。
fenlei($arr[$i][0]); //$arr[$i][1]表示第$i+1个分类的id的值。进行递归,也就是把自己的id作为f_id参数把自己的子类再循环出来。
}
}
}
fenlei($f_id=1);
fenlei($f_id=0);
?>
分享到:
相关推荐
无限级分类允许我们创建一个可以无限深度扩展的分类系统,无需预先设定最大层级。下面我们将深入探讨PHP实现无限级分类的方法、常见算法以及如何结合SQL数据库进行操作。 首先,无限级分类的核心在于每个分类都有一...
以下将详细介绍如何使用PHP实现无限分类,并提供相关的实现思路。 1. **无限分类的原理** 无限分类通常基于树形结构,每个节点都有一个父节点(除了根节点),并且可以有任意数量的子节点。在数据库设计中,通常会...
`php无限分类树类方法`可能是实现上述功能的PHP源代码文件。 通过以上方法,我们可以有效地在PHP中管理和操作无限分类树,提高应用的可维护性和效率。理解并熟练运用这些技术对于PHP开发者来说是至关重要的,特别是...
1. **构建无限分类数据结构**:首先,我们需要一个包含分类ID、父ID和分类名的数据源,通常来源于数据库查询。然后,我们可以通过比较每个分类的父ID与其它分类的ID,构建一个嵌套的关联数组,其中键是分类ID,值是...
本文将详细解析PHP实现无限分类的原理,并通过递归的应用来阐述其实现过程。 首先,理解无限分类的核心在于表示层级关系。在数据库设计中,通常会为每个分类设置两个字段:`id`(主键)和`parent_id`(父分类ID)。...
1. **递归方式**:这是最常见的方法,通过递归函数遍历整个分类树,每次递归时为当前节点添加父节点的ID或名称,形成路径。这种方法简单直观,但当分类数量巨大时,可能会导致大量的函数调用,影响性能。 2. **栈...
以下是对这个PHP无限分类源码的详细解析。 1. **无限分类原理** 无限分类通常基于自引用关联或层级标识符(如“路径”或“深度”)来实现。在这个例子中,可能使用了后者,即通过在数据库中为每个分类添加一个表示...
1. **无限级分类的概念**:无限级分类允许类别拥有无限数量的子类,这在大型网站中非常有用,因为它可以灵活地组织大量内容,且易于扩展。例如,在电商网站中,商品可以被归类到品牌 -> 类别 -> 子类别 -> 更细分的...
根据提供的信息,我们可以了解到这份资料主要涉及的是一个数据库表结构定义和一段PHP代码,用于实现无限级分类的数据存储和展示。接下来将详细解析这些内容。 ### 数据库表结构定义 在给定的内容中,首先出现的是...
下面将详细介绍如何实现PHP无限分类管理和级联下拉选单。 首先,我们需要一个基础的数据表来存储分类信息。通常,这个表会包含`id`(主键)、`name`(分类名称)、`parent_id`(父分类ID)和`level`(分类级别)等...
9. **chinaz.com.txt**:这可能是一个包含分类数据的文本文件,或者是某个网站(比如ChinaZ.com)关于PHP无限分类的教程或资源链接。 在实际开发中,选择哪种实现方式取决于项目需求、数据库规模以及对性能的要求。...
下面将详细阐述如何使用递归方法来实现无限级分类,并结合提供的`cate-master`文件进行解析。 首先,我们要理解递归的基本概念。递归是一种函数或过程在其定义中调用自身的技术。在无限级分类中,递归用于遍历和...
一个php无限分类的例子,包含了创建数据库及表 本分类方法的优势: 1,数据库结构简单,只有 cid parentid name 三个字段,无任何冗余字段 2,不使用递归查询,所有操作只需一条sql语句 3,...
无限级分类是一种能够解决这一问题的有效方式,它允许我们创建任意深度的分类结构,而不需要预先设定层级限制。本项目以"ajax+php+无限级分类"为主题,旨在展示如何利用这两种技术实现一个动态、灵活的分类系统。 ...
在IT行业中,无限分类是一种常见的数据组织方式,特别是在网站内容管理、电商商品分类、博客文章分类等场景下。无限分类允许我们创建一个无层级限制的分类结构,使得新增分类时无需预先设定最大深度,增加了系统的...
在PHP开发中,无限分类是一种常见的需求,尤其在构建如电商、博客等系统时,我们需要对商品、文章等进行层次化的组织。无限分类允许我们创建一个可以无限制地添加子类别的分类体系。本资源提供的"php的多种无限分类...
这个类库下载("php无限分类树类方法")应该包含了这个`CategoryTree`类的完整实现,以及可能的测试用例和示例数据,帮助开发者快速理解和使用。在实际项目中,你可以根据具体需求对这个类进行扩展,例如增加缓存...
"PHP无限分类[增强版]"是一个专门解决这类问题的PHP类库,它能够帮助开发者高效地管理和构建无限级别的分类结构。 这个增强版的PHP无限分类库包含了以下关键功能: 1. **生成树型结构的2维数组**:在数据库中存储...
一个简单的方法实现无限级分类下拉的问题,此文件代码的分类数据是以一个枚举型的数组形式,要将此方法引用到数据库时只需将表结构设计成此数组形式即可,希望能帮到各位广大编程爱好者
网上有很多实现该功能的方法函数,但基本上都是使用的递归查询,否则就是代码沉长。 使用递归查询的缺点是,... 在本文中你将看来一个全新的无限分类实现方法,甚至只需要一次查询就能实现无限分类或无限引用回复功能