我正在使用PHP和MySQL构建一个家谱程序,并且几乎完成了它。我的主程序处理3个表:个人表、子女表和配偶表。正如你所猜测的,最后两个表只是关系表,有了它,我可以绘制整个家谱。表"individual"
包含所有具有Gender, date of birth, date of death, email, first name, last name
等详细信息的家族成员,而"child"
表只有2列——parentID and childID
,"spouse"
表有"individaulID"
和"spouseID"
现在需要只显示选定节点的关系树。我将收到的数据如下:
"P(13)=14,P(14)=15,P(15)=16,C(16)=17,S(17)=18,C(17)=19"
这里"p(13)=14"表示14是13个孩子的父母,"C(16)=17"表示17是16个孩子的孩子,"S(17)=18"表示18是17个孩子的配偶。
我不想创建临时表,因为对于多个用户,临时表可能会导致问题。关于如何解析这些数据并创建UL LI结构,有什么想法吗?
谢谢,Sudhir
我解决了它。我所做的如下:
从字符串中我可以找到最上面的节点。此外,我可以在字符串中找到所需的用户ID,并将列表存储在$valid_IDs中。因此,我使用top节点作为ID运行了我的原始脚本,并修改了SQL,使其在where子句
"individual_id in ($valid_ids)"