Крч. я что-то затупил,свежих идей не хватает)
Нужно придумать алгоритм перебора записей в БД по принципе дерева(каталогов).
Этот алгоритм из многоуровнего зц,короче считает общее количество файлов внутри каталога.
Сами таблицы состоят как-то примерно так
---------------------
~load_cat
id|ifcat
~load_files
id|cat
---------------------
У каждой папки есть параметр ifcat,к которому я и привязываюсь,он содержит Id каталога,который находиться выше.У корневых каталогов он пуст.
--
Проблема в том,что мой алгоритм рабочий лишь на половину.Он считает каку-то единицу корня,остальное по просту отбрасывает.
Сам алгоритм:
[code]
while(){ -массив каталогов по текущему Id
$chet_dir = $row2[\'id\']; ///Ид каталога из массива
$chet_count=0;
while ($chet_dir != \'0\' && $chet_dir != \"\"
{
$chet_path = $db -> query(\"SELECT `id`,`ifcat`,`name` FROM `load_cat` WHERE `id` = \'$chet_dir\'\"
;
while ($chet_p = $chet_path -> fetch_assoc()) {
$chet_couf = $db -> dbcount(\'COUNT(*)\',\'load_files\',\'`cat`=\'.$chet_p[\'id\'].\'\');
echo $chet_p[\'name\'].\'/\';
$chet_count=$chet_count+$chet_couf;
}
$pp = $db -> query(\"SELECT `id`,`ifcat`,`name` FROM `load_cat` WHERE `ifcat` = \'$chet_dir\'\"
-> fetch_assoc();
$chet_dir=$pp[\'id\'];
}
}
[/code]