4
我有以下分贝表获取递归深度的每一行
82是84 24母体是82和83母体在PHP我具有由读取行的方法UID。
public function fetchByUid($uid){
//code
}
这将检索表中的第7和第6个值。现在我不仅要获取uid相等的行,还要获取其父母是uid子项的行。例如。 82是84的父亲,但也是24的孩子。
所以我想出了一些递归。
public function fetchByUidRec($uid, $data, $counter){
//set of rows by uid
$db_resultSet;
foreach($db_resultSet as $row){
$entry = array();
$entry['id'] = $row->id;
$entry['uid'] = $row->uid;
$entry['rid'] = $row->rid;
$entry['layer'] = $counter;
$data [] = $entry;
//now I want to do the same on the child
$data [] = fetchByUidRec($row->rid, $data, $counter = $counter + 1)
}
return $data;
}
public function getchByUid($uid){
$data = array();
$counter = 0;
return fetchByUidRec($uid, $data, $counter)
}
但是,这并不在所有的工作:(我想存储在$数据当前recrusion深度[“层”]
任何想法
感谢,但你可以在我的代码见我不从表中检索整个行,但只有那些符合UID的是,这是由指示$ db_resultSet ....;对于父母的每个孩子,我现在再次为uid的所有孩子进行db查询(这将是第1层),等等...... – 2011-06-17 10:30:35
@ArtWorkAD:这与您的问题无关,我想,我只是调整了您的代码以提供一个完全可行的例子。我建议你修正你的代码中的错别字和错误,也许还提供'fetchByUid' /'getchByUid'方法的代码。你的问题有点混乱。 – 2011-06-17 10:37:48
@ArtWorkAD:在我的代码中查看评论,难道不是吗? – 2011-06-17 10:43:46