У меня есть база данных со следующими столбцами:счетных все подкатегории Whitin категории
id, parent, name, description
id
был установлен в автоматический incerement. Я хочу получить общее количество всех подкатегорий, которые являются inisde родительской категорией (у которой ее родительский набор равен 0
). Я также хочу, чтобы это было рекурсивным. Каким может быть способ поститься?
Я уже написал следующую функцию, но я не могу проверить это на данный момент:
function CountDeepSubCategories($parentID, $max = 0)
{
global $_DB;
$all = $all + $max;
$q = $_DB->Query("SELECT id FROM category_cats WHERE parent = $parentID");
$id = $_DB->GetResultValue($q, 0, 'id');
$num = $_DB->GetResultNumber($q);
for($i = 0; $i < $num; $i++)
{
CountDeepSubCategories($id, $all);
}
return $all;
}
Если есть не так много записей (например, 100), но в глубине вложенности (3+ уровней), лучше получить всю таблицу и построить дерево в 'php'. – kirilloid
Что именно вам нужно? Текст вопроса предлагает информацию (подкатегории), но код предлагает целое число, хотя ваш код не будет делать много, поскольку вы никогда не используете возвращаемое значение своей рекурсивной функции. – jeroen
Извините, что было неясно, я имею в виду, что мне нужно знать, сколько суб и суб-суб и .... категорий, принадлежащих родительской категории (у которой есть родительский столбец как 0) –