如何创建一个循环来连续获取数据

时间:2014-03-26 19:59:52

标签: php mysql sql

我有一个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。

0 个答案:

没有答案