我正在尝试针对一个问题提出一些解决方案,我必须根据用户选择的选项为用户提供动态下拉菜单。
目前,我有3个表格已经规范化。
目前这适用于我的HTML选择元素,如果我选择John Doe,我会选择Paul,Kevin和Dick作为我的第二选择,如果我选择Kevin,我会将Drake和Kanye作为第三选择。< / p>
我的问题是我不想继续创建表格,因为我想在我的应用程序中添加更多层的staff_level。
我如何处理这个并使用PHP和MySQL拥有一个完全动态的表结构?
感谢您抽出宝贵时间阅读本文。
答案 0 :(得分:1)
你想要一个人之间的关联表。将所有这些内容放在一个具有唯一ID的表中,如下所示:
Table Staff
id | Name | <Other fields>
----+-------------+----------
1 | John Doe |
2 | Sam Smith |
3 | John Johns |
4 | Paul Pete |
5 | Kevin Mayor |
6 | Dick Ross |
...
然后关联表命名你喜欢什么 - 也许是StaffHeirarchy:
Table StaffRelationships
id | ManagerId | SubordinateId
---+-----------+--------------
* | Null | 1 # Has no manager
* | 2 | 6 # Dick Ross is subordinate to Sam Smith
这个表应该有唯一键的id字段,但是你不必关心它是什么(它不像Staff.id
字段那样用作外键),这就是为什么我放*
那里 - 实际上它会是一个整数id。
我没有看到你的PHP用于从数据库中提取值,但它基本相同 - 查询关联表过滤以查找您正在寻找的经理的ID,您将获得下属的ID(您可以在员工表上JOIN
获取姓名。