{% else-1 %}
Обновить
* Тема закрыта!
1. [автор] (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]

2.
Victor * Верифицирован 41.37
(25 дек 2013, 18:25) [0/0] [0] [спам] [под]

В любом непонятном случае используем LIKE *


Очаг
3. [автор] (25 дек 2013, 18:28) [0/0] [0] [спам] [под]

Виктор, Да не,тут LIKE врядли поможет * я придумал перебор последовательный каталогов от корня к концу,но не придумал ,что если в каталоге не один подкаталог. Крч переход от одного к другому при суммировании

4. [автор] (26 дек 2013, 21:02) [0/0] [0] [спам] [под]

В жопу крч.,другой алгоритм придумаю *

5. [автор] (26 дек 2013, 21:02) [0/0] [0] [спам] [под]

Тема закрыта для обсуждения! *

  • 1 из 1
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений