dadesign
Guest
Рекурсивная ф-ция: подсчет общего кол-ва numrows
Нашел тут FAQ по рекурсивным построителям каталогов (деревьям).
Немного изменил, написал это:
моя таблица mysql имеет поля id,name, parent_id
скажем такого вида
2 Продукты питания 0
. 4 Колбасы 2
. . 6 Москва 4
. . 5 Микоян 4
11 Книги 0
. 12 Фантастика 11
. . 16 Лукьяненко 12
. 13 Фентези 11
. 14 Детективы 11
1 Электроника 0
. 7 Видаки 1
. . 9 VHS 7
. . 10 VHS-C 7
. . . 15 Акксесуары 10
. 8 ДВД 1
Как подсчитать общее количество поддиректорий в директории $id я так и понял... скажем что в продуктах питания - ВСЕГО 3 поддиректории, а в электронике - 5 ???
Нашел тут FAQ по рекурсивным построителям каталогов (деревьям).
Немного изменил, написал это:
PHP:
function recc2($id,$level=0){
connect();
$q = "select * from category where parent_id=$id order by sort,id,name";
$res = mysql_query($q) or die("query failed: ".mysql_error());
$nrows = mysql_num_rows($res);
if($nrows > 0){
echo $nrows;
while($row = mysql_fetch_array($res)){
recc2($row['id'],$level + 1);
}
}
}
recc2($id);
моя таблица mysql имеет поля id,name, parent_id
скажем такого вида
2 Продукты питания 0
. 4 Колбасы 2
. . 6 Москва 4
. . 5 Микоян 4
11 Книги 0
. 12 Фантастика 11
. . 16 Лукьяненко 12
. 13 Фентези 11
. 14 Детективы 11
1 Электроника 0
. 7 Видаки 1
. . 9 VHS 7
. . 10 VHS-C 7
. . . 15 Акксесуары 10
. 8 ДВД 1
Как подсчитать общее количество поддиректорий в директории $id я так и понял... скажем что в продуктах питания - ВСЕГО 3 поддиректории, а в электронике - 5 ???