0

在此处输入图像描述

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

Array

([0] => stdClass 对象([cat_id] => 64 [name] => Bathing Soap [slug] => bathing-soap [cat_taxonomy_id] => 65 [taxonomy] => product_cat [parent] => 63)

[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
    )

)

4

2 回答 2

1

我已经尝试过以下链接。你也可以试试下面的链接

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

于 2013-11-14T09:51:01.313 回答
1

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

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

例如:

  1. 更改数组并使用 cat_id 作为主数组中的键。
  2. 添加到每个项目字段 childs = array(); 并将子类别存储在此数组 id 中。
  3. 查找根类别(其中 parent == 0)并在子字段中保存键为“0”的项目的 ID。

当您从数据库加载数据时,您可以执行第 1 步。步骤 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 开始并输出所有孩子。对于每个孩子先出标题,然后是所有孩子。你应该使用递归函数。

于 2013-11-14T07:50:40.490 回答