{% else-1 %}
(26 дек 2013, 21:02) (0/0) [0]
Тема закрыта для обсуждения! *
(26 дек 2013, 21:02) (0/0) [0]
В жопу крч.,другой алгоритм придумаю *
(25 дек 2013, 18:28) (0/0) [0]
Виктор, Да не,тут LIKE врядли поможет * я придумал перебор последовательный каталогов от корня к концу,но не придумал ,что если в каталоге не один подкаталог. Крч переход от одного к другому при суммировании
(25 дек 2013, 18:22) (0/0) [0]
Крч. я что-то затупил,свежих идей не хватает)
Нужно придумать алгоритм перебора записей в БД по принципе дерева(каталогов).
Этот алгоритм из многоуровнего зц,короче считает общее количество файлов внутри каталога.
Сами таблицы состоят как-то примерно так
---------------------
~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]
  • 1 из 1