Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何创建一个可以获得6级父级的循环?_Php_Mysql - Fatal编程技术网

Php 我如何创建一个可以获得6级父级的循环?

Php 我如何创建一个可以获得6级父级的循环?,php,mysql,Php,Mysql,我在这一页上的系谱概念的工作。我如何才能foreach或创建一个可以获得6级父级的循环,例如name=1;nfather=2;NMOHTER=3 < /代码>,循环继续获得或考虑 N父亲< /COD>作为名称=2 < /代码>并得到他的父母。 CREATE TABLE `horses` ( `horse_id` int(10) NOT NULL AUTO_INCREMENT, `horse_name` varchar(32) NOT NULL, `horse_sire` int(10) DEF

我在这一页上的系谱概念的工作。我如何才能foreach或创建一个可以获得6级父级的循环,例如
name=1;nfather=2;NMOHTER=3 < /代码>,循环继续获得或考虑<代码> N父亲< /COD>作为<代码>名称=2 < /代码>并得到他的父母。

CREATE TABLE `horses` ( 
`horse_id` int(10) NOT NULL AUTO_INCREMENT,
`horse_name` varchar(32) NOT NULL,
`horse_sire` int(10) DEFAULT NULL,
`horse_dam` int(10) DEFAULT NULL, 
PRIMARY KEY (`horse_id`),
KEY `FKsire` (`horse_sire`),
KEY `FKdam` (`horse_dam`),
CONSTRAINT `FKdam` FOREIGN KEY (`horse_dam`) REFERENCES `horses` (`horse_id`),
CONSTRAINT `FKsire` FOREIGN KEY (`horse_sire`) REFERENCES `horses` (`horse_id`)
)

您可以使用mysql中的存储过程获取所有父级,直到父级都为NULL或达到级别6,或者获取完整的horse表并在php中构建递归循环。我更喜欢存储过程。但是您应该选择适合构建递归循环的语言。(1)您使用的是哪个版本的MySQL?(2) 你想要父亲的层次结构,还是母亲的层次结构?我正在寻找一个php脚本,它可以,我已经尝试过了,但是有了多重查询,我不知道怎么做,只要有人能给我一个解决方案,这就是我想做的例子,就像分享你尝试过的和你在哪里遇到的困难一样。现在你的问题读起来像是从头开始给我解决方案。