当前位置: 首页 > 知识库问答 >
问题:

如何使用php创建像WordPress类别这样的层次结构

姬坚成
2023-03-14

如何显示类别结构像WordPress使用php?

Array

( [0] =

[1] => stdClass Object
    (
        [cat_id] => 65
        [name] => Chemical
        [slug] => chemical
        [cat_taxonomy_id] => 66
        [taxonomy] => product_cat
        [parent] => 64
    )

[2] => stdClass Object
    (
        [cat_id] => 63
        [name] => Soap
        [slug] => soap
        [cat_taxonomy_id] => 64
        [taxonomy] => product_cat
        [parent] => 0
    )

)

共有2个答案

孔飞翔
2023-03-14

我试过下面的链接。您也可以尝试下面的链接

http://stevenbuick.com/category-hierarchy-with-codeigniter-and-jstree/

南门承教
2023-03-14

在您的示例中是数组,因为您将这些记录存储在数据库中。

对于输出树结构,您应该将其转换为树结构。

例如:

  1. 更改数组并在主数组中使用cat_id作为键。
  2. 添加到每个项目字段Childs=数组();并存储在这个数组id为Childs类别。
  3. 查找根类别(其中父类==0),并将id保存在Childs字段中,用于键为0的项目。

步骤1:当您从fro数据库加载数据时,可以执行以下操作。步骤2和3可以在一次迭代中完成(foreach)

在此之后,您的示例将类似

array(
  [0] => stdClass Object
    (
      [cat_id] => 0,
      [childs] => array( [0]=>63 )
      ...
    )
  [63]=> stdClass Object
    (
      [cat_id] => 63,
      [childs] => array( [0]=>64 )
      ...
    ) 

然后可以输出树。只需从key=0开始,输出所有孩子。为每个孩子先出标题,然后是所有孩子。你应该使用递归函数。

 类似资料:
  • 问题内容: 我有一个表,它表示类别层次结构,层次结构顶部的元素的父ID为0。在CatID列中有超过54K个唯一ID。每个ID可以是另一个ID的父对象。类别深入8个级别。该表如下所示: 这就是我想要实现的结果: 我怎样才能做到这一点?我是否需要某种循环才能遍历所有ID? 有人可以帮忙吗? 问题答案: 这里是:

  • 问题内容: 我试图从我的MySQL数据库中按层次结构获取所有类别和子类别: 我的结果应该是这样(只是示例): 猫A 子猫1 Sub_Sub_Cat 1 Sub_Sub_Cat 2 子猫2 猫B C猫 … MySQL代码: 简而言之,如何在使用 PHP代码 的层次结构中获得它? 问题答案: 使用邻接表模型时,您可以一次性生成结构。 取自一遍父子数组结构(2007年9月; Nate Weiner撰写)

  • 本文向大家介绍使用递归[JavaScript]创建层次结构,包括了使用递归[JavaScript]创建层次结构的使用技巧和注意事项,需要的朋友参考一下 示例 输出            

  • 问题内容: 我将MySql与PHP结合使用,并将所有数据存储在这样的表中: 由此,如果我有例如:id = 10,sql将如何显示项目的层次结构? 因此,对于id = 10,层次结构为: 对于id = 7,层次结构为: 对于id = 4,层次结构为 等等。任何想法如何构造SQL来实现这一目标? 问题答案: 试试这个存储过程 查询1 : SQL FIDDLE : 希望这可以帮助

  • 我想不出为继承层次结构创建视图方法。如果我像下面的代码一样创建类层次结构,那么我就不能从bview.set(...)中正确使用B类的方法和属性而不进行强制转换,因为BView是从AView继承的。和Set method signature接受A类型的变量,但在BView中我希望设置B类型的变量。我该如何解决我的问题? 谢谢你。:3

  • 问题内容: 是否可以基于层次结构/ cte创建视图? 我看过一个有关如何基于链接递归查询生成结果集的示例。 我已经附上了ddl和声明。 谢谢你, 埃尔默 问题答案: 后已被指定(超出右括号),您需要选择从CTE的所有值: 这是构成视图的实际选择查询。 这是一个完整的工作示例,其中选择了视图的最终输出,以及一些其他语句,以允许这些语句在SQL Server Management Studio中一次执