对于我的问题标题含糊不清,我深表歉意,但我什至不知道该怎么称呼我要完成的工作。
描述我想要的最好的方式是我希望能够将一堆项目链接在一起,然后(可能)递归地找到所有包含目标项目的链中的所有项目。例如,请注意以下链中的 item3 :
item1 => item2 => item3 => item4
item5 => item3 => item6
item3 => item7 => item8
item3 => item9 => item10
item11 => item12 => item13 => item3
如果用户要搜索item3,那么我希望显示上面的所有五个链。换句话说,我希望能够找到 item3 的所有后代和祖先,以便我可以在 HTML 表格中显示数据(或任何最有效的 HTML 结构)。
让这件事变得棘手的是(如上所示)任何给定的项目可能有许多后代和许多祖先。因此,我不确定 MySQL 中的常规递归是否有效。
我确实查看了以下 SO 线程的最佳答案中链接的两篇文章,但我认为建议的解决方案不适用于我想要的数据结构:
Mysql recursion?
有没有办法将这种数据结构化到 MySQL 数据库中,以便通过相当简单和轻量级的查询(即,希望每个项目请求一个查询),我可以获得我正在寻找的信息和结构?
非常感谢。