我有一个类别表,如下所示。我要保存类别,该表中的子类别(多个子类别)。我的桌子看起来像
id | name | parent_of | created_on -------+---------------+---------------+--------------------- 1 | Name 1 | 0 | 2013-05-1 00:00:00 -------+---------------+---------------+--------------------- 2 | Name 2 | 0 | 2013-05-1 00:00:00 -------+---------------+---------------+--------------------- 3 | Name 3 | 1 | 2013-05-1 00:00:00 -------+---------------+---------------+--------------------- 4 | Name 4 | 1 | 2013-05-1 00:00:00 -------+---------------+---------------+--------------------- 5 | Name 5 | 3 | 2013-05-1 00:00:00 -------+---------------+---------------+--------------------- 6 | Name 6 | 3 | 2013-05-1 00:00:00 -------+---------------+---------------+---------------------
现在,我需要查询该表并按如下所示创建树形结构,以轻松浏览前端的类别。
像这样的树
1 |--> 3 | |--> 5 | |--> 6 |--> 4 2
我对查询有点困惑。谁能帮帮我吗 ?
提前致谢
对于基本显示,您可以使用:
SELECT * FROM `Table` WHERE `parent_of` = 0;
它将为您提供所有的根节点。
当用户单击某个节点时,他/她/它向服务器(可能是Ajax)提交请求以获取被单击节点的子节点,例如:
$node = abs((int)$_GET['node']);
然后:
SELECT * FROM `Table` WHERE `parent_of` = {$node};