我在SQL表中有像这样的分层数据
ID NAME PARENT_ID
1 Sales
2 Marketing 1
3 sales_optimiztaion.txt 2
4 Quotes 6
5 list.xls 4
6 General data
这是文件夹结构,我们可以获取每个文件的路径,例如,如果我们有文件list.xls
,那么其父文件夹是Quotes
和General data -> General data/Quotes/list.xls
我有递归函数,它返回每个文件的所有父项并返回它们的数组
function get_pathS($node) {
$resultS = mysql_query('SELECT NAME, PARENT_ID FROM b_disk_object
WHERE ID="'.$node.'";');
$rowS = mysql_fetch_array($resultS);
if ($rowS['NAME']!='') {
$path=$rowS['NAME'];
$content=array();
$content[]=$path;
get_pathS($rowS['PARENT_ID']);
}
return $content;
}
它正常工作并将每个文件的所有父节点保存在数组中,但是当我调用此函数时,它只返回每个文件的第一个父节点。
这是函数调用
while ($row = mysql_fetch_array($query)) {
$folder= get_pathS($row['PARENT_ID']);
foreach($folder as $f){
echo $f.'<br>';
....
它只回显第一个父母,就像这样
Marketing
Quotes
而不是
Marketing
Sales
Quotes
General data