问题描述
我在 MariaDB 中有一张表,里面有人:
我有一个 PHP 来显示感兴趣的人的树。它向上显示父项,向下显示子项,两者都是递归的。
我的计划是添加一个 PHP 来显示共同的祖先。但我不知道我的方法应该是什么。我找到了一些 sql 查询来查找共同祖先(虽然没有让它工作),但是我将如何呈现数据?
所以它会是这样的:
<div class="tree mx-auto d-flex flex-Nowrap">
<ul>
<li>Common ancestor
<ul>
<li>
Child 1
<ul>
<li>Child 11</li>
<li>Child 12
<ul>
<li>Child 121</li>
<li>Relative 1</li>
</ul>
</li>
</ul>
</li>
<li>Child 2
<ul>
<li>
Child 21
<ul>
<li>
Child 211
<ul>
<li>Relative 2</li>
</ul>
</li>
<li>Child 212</li>
<li>Child 213</li>
</ul>
</li>
<li>Child 22</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
一些想法。如果我在输入两个 ID 时找到一个共同的祖先。我将如何指导或引导我的递归孩子对两个亲戚的功能?我如何告诉递归函数继续挖掘哪个孩子?
或者 sql 查询是否应该返回相对于共同祖先的整个跟踪?我应该有三个查询吗?
- 输入 ID#1、ID#2,返回共同祖先 (CA) 的 ID
- 输入 ID#1、ID#CA,从下到上返回跟踪,分支 1
- 输入 ID#2,ID#CA,从下到上返回跟踪,分支 2
然后基于两个分支用PHP构建列表/树?或者我可以通过一个查询来做到这一点吗?也许这总体上是一个糟糕的方法?
编辑:共同的祖先最喜欢永远是两个人,妈妈和爸爸。我怎么能处理呢?也许把爸爸妈妈放在一个 <li></li>
下,然后把孩子放在下面?
正如我所说,我的概念或方法需要一些帮助。我可能可以管理的 sql/PHP。我认为 (:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)