Php 关于父/子数组关系
这是我的数据库结构: 我希望遍历所有子元素(父元素的id设置为同一表中的数据id)。 因此,那些“parent_id”为“0”的是父母,那些parent_id中有数字的是孩子 我想帮助创建一个函数,该函数将生成表,表本身作为父级,其中的所有行都将是该父级的子级。此项目中只有一个深度层(始终有一个父层和一个子层) 有人能帮忙吗,或者想要更详细的描述Php 关于父/子数组关系,php,arrays,loops,parent,Php,Arrays,Loops,Parent,这是我的数据库结构: 我希望遍历所有子元素(父元素的id设置为同一表中的数据id)。 因此,那些“parent_id”为“0”的是父母,那些parent_id中有数字的是孩子 我想帮助创建一个函数,该函数将生成表,表本身作为父级,其中的所有行都将是该父级的子级。此项目中只有一个深度层(始终有一个父层和一个子层) 有人能帮忙吗,或者想要更详细的描述 谢谢,期待您的回复。从我的角度来看,当我查看您的数据库时,我假设您的父母总是在您的孩子之前添加的(如果我错了,请纠正我)。因为你说你只有一个父母和一
谢谢,期待您的回复。从我的角度来看,当我查看您的数据库时,我假设您的父母总是在您的孩子之前添加的(如果我错了,请纠正我)。因为你说你只有一个父母和一个孩子,我相信你的数据库是这样的:
1st - parent
2nd - child of 1st
3rd - parent
4th - child of 3rd
如果是这样的话,一个循环就可以帮助您完成这个伪代码
//get the data from the database
//run through the loop
//check if the parent_id is 0
// if it is, create an element (a table) to be the container with the id as cited in your data_id
// if is is not, create an element (a row). Then append this element to the table with the same id as this parent_id
从我的角度来看,当我查看您的数据库时,我假设您的父母总是在您的孩子之前被添加(如果我错了,请纠正我)。因为你说你只有一个父母和一个孩子,我相信你的数据库是这样的:
1st - parent
2nd - child of 1st
3rd - parent
4th - child of 3rd
如果是这样的话,一个循环就可以帮助您完成这个伪代码
//get the data from the database
//run through the loop
//check if the parent_id is 0
// if it is, create an element (a table) to be the container with the id as cited in your data_id
// if is is not, create an element (a row). Then append this element to the table with the same id as this parent_id
您可以执行单个循环并检查父\u id是否为0。这里似乎有什么问题?如果我要做一个循环来选择父对象,然后在其中做一个循环来获得所有的子对象,它看起来非常不优化,这就是我现在正在使用的。我正在构建一个包含大量数据字段的项目,因此我正在寻找最优化的方法。谢谢你的编辑顺便说一句,我无法发布图像,直到我的声誉高于10你的数据在你的数据库?如果它是第一个父对象,第一个的第二个子对象,第三个父对象,第三个的第四个子对象,那么您不需要运行2循环吗?或者,您可以只循环1次,如果父项id为0,则创建以数据id作为id的表。如果父项id为!=0,createElement并将其附加到具有您创建的ID的表中。确保先创建父级,你能告诉我怎么做吗?我想我理解你的意思,但我现在还不能完全用代码来表达。我会尝试在答案中加入一个伪代码。你可以做一个循环,检查父id是否为0。这里似乎有什么问题?如果我要做一个循环来选择父对象,然后在其中做一个循环来获得所有的子对象,它看起来非常不优化,这就是我现在正在使用的。我正在构建一个包含大量数据字段的项目,因此我正在寻找最优化的方法。谢谢你的编辑顺便说一句,我无法发布图像,直到我的声誉高于10你的数据在你的数据库?如果它是第一个父对象,第一个的第二个子对象,第三个父对象,第三个的第四个子对象,那么您不需要运行2循环吗?或者,您可以只循环1次,如果父项id为0,则创建以数据id作为id的表。如果父项id为!=0,createElement并将其附加到具有您创建的ID的表中。确保先创建父级,你能告诉我怎么做吗?我想我理解你的意思,但我还不能完全用代码来表达。我会尝试在答案中加入一个伪代码