Php 如何从数据库中获取多维数组?

Php 如何从数据库中获取多维数组?,php,mysql,multidimensional-array,content-management-system,categories,Php,Mysql,Multidimensional Array,Content Management System,Categories,我知道标题可能不完全是关于这件事,但请容忍我。 我不知道该如何为这个再加一个标题 这就是我的处境。 我正在建立一个小小的cms系统(为了我自己,也为了从中学习)。我想在CMS内的网页被列出,并按类别排序。 它看起来像这样: Webpages - Home -- homepage(this is the web page itself) - News -- Latest news -- Archive 这个系统将意味着我将有子类别 在数据库中,我创建了一个表: | ID | Pare

我知道标题可能不完全是关于这件事,但请容忍我。 我不知道该如何为这个再加一个标题

这就是我的处境。 我正在建立一个小小的cms系统(为了我自己,也为了从中学习)。我想在CMS内的网页被列出,并按类别排序。 它看起来像这样:

Webpages
- Home
  -- homepage(this is the web page itself)
- News
  -- Latest news
  -- Archive
这个系统将意味着我将有子类别

在数据库中,我创建了一个表:

| ID | Parent_ID |   Name   |   Lable   | Order|
  1        1       Webpages    webpages     1
  2        1       Home        home         1
  3        1       News        news         2
正如你在这里看到的,主要类别是网页类别,家庭和新闻是它的子类别。 这两个类别是按顺序排列的,所以家庭类别首先是新闻,其次是新闻

我面临的问题是: 如果我想得到所有的子类别意味着我需要从主类别网页开始,用这个ID我可以得到主类别的子类别

我想你可以看到这会有多深,这意味着(我认为)最终会有很多查询,它们会为每个子类别运行

所以我的问题是: 是否有一种方法可以在一个ore 2查询中以正确的顺序一次获取所有子类别

如果你有答案,请告诉我


thnks

在编写查询时,需要使用ORDER BY子句。对于这个特定的示例,您需要按父项ID ORDER排序。这将返回按父项ID排序的结果,然后按顺序进行子排序

然后可以使用mysql_fetch_assoc()将结果集解析为关联数组

由于您将拥有多个层次结构级别,因此一旦将结果集存储在由层次结构组成的关联数组中,就必须循环遍历结果集

然后可以使用此数组在页面上显示相应的导航层次结构