我有一个id_parent和id_child的数据库,但id_child也可能是更多id的父母,p_1(parent_1)有子1-4,c_1(child_1)有子6-9
p_1
|
c_1 , c_2, c_3, c_4
|
c_6, c_7, c_8, c_9
|
etc..
我有一个函数,在给定sql_table的情况下通过parent_id获取子节点,如下所示:
public function getChilds($folder_table, $folder_id){
if($this->connect){
$folder_id = $this->connection->real_escape_string((int)$folder_id);
$sql = 'SELECT * FROM '.$folder_table.' WHERE user_id=\''.$this->user_id.'\' AND folder_id=\''.$folder_id.'\'';
if($results = $this->connection->query($sql)){
$obj = $results->fetch_object();
return $obj;
}
}else{
$this->error = "Unable to connect to database. please make sure you can connect.";
}
return $this->error;
}
有没有办法继续执行这个函数,像金字塔一样连续执行这个函数,直到没有任何id从任何id获取?
尝试1 我把所有的ID都放在一个数组中:
$array_ids = array(1,2,3,4,5);
foreach($array_ids as $key => $value){
$new_ids = $obj->getChilds($sql_table, $value);
}
但这只会再次继续这个过程。我希望这一点继续下去,直到没有任何更多的ID。