Php 从mySql数据库创建树

Php 从mySql数据库创建树,php,mysql,tree,pear,Php,Mysql,Tree,Pear,我有一个db格式的表,其中包含字段 这份名单列出了世界上所有的城市。 所以这是一个相当大的清单 问题 如果我的产品为一片叶子选择了所有的父母。[例如,ID:3的ID 3、2、1]这样我就可以使用AJAX函数基于ParentID生成一个树 但是 我选择了一种产品,它给了我树叶。[例如,ID:3]所以我需要解析以使用路径生成树,这听起来太糟糕了[解析字符串会很慢。] 有什么通用的解决方案吗? -我可以创建一个视图并存储相应的父r.f叶吗。? -用梨树 或直接涉及DB的任何其他更好的解决方案 编辑 树

我有一个db格式的表,其中包含字段

这份名单列出了世界上所有的城市。 所以这是一个相当大的清单

问题 如果我的产品为一片叶子选择了所有的父母。[例如,ID:3的ID 3、2、1]这样我就可以使用AJAX函数基于ParentID生成一个树

但是 我选择了一种产品,它给了我树叶。[例如,ID:3]所以我需要解析以使用路径生成树,这听起来太糟糕了[解析字符串会很慢。]

有什么通用的解决方案吗? -我可以创建一个视图并存储相应的父r.f叶吗。? -用梨树

或直接涉及DB的任何其他更好的解决方案

编辑 树结构:

Asia
 >India
   >Goa
编辑
解析路径的递归函数不适合此作业。这将很慢。

PEAR已经为这项特定任务制作了。尝试此经验证的软件包,而不是自己编写代码。

只是一个建议,只需存储父id,如印度的父id为1,果阿的父id为2。在ajax中使用这个父id:-好的,但是您可以详细说明如何获取父id吗。目前我只有leaf的parentID,我需要parentID uptill在顶部。我认为会有这样的根节点,让亚洲、欧洲都是平行根节点没有任何父节点,因此他们的父ID为0,然后,当您显示元素时,查找它们的父id。显示所有具有0作为根节点的节点,并单击它们加载具有相应父节点的节点。例如,当我在亚洲clikc时,加载所有具有亚洲ie 1作为其父id的国家。是@RohitKumarChoudhary,这很好且可行。但我必须后退。我有一个叶子,需要创建一个树[它的过滤],所以这个问题。对不起!这对我来说不是很清楚。你能详细说明一下吗?
Asia
 >India
   >Goa