Приветствую.
Есть код:
<?php
$result = mysql_query ("SELECT `id`, `parent_id`, `name` FROM `catalog_cats`");
$cats = array(); // тут будет наш массив с категориями каталога
// в цикле формируем нужный нам массив
while($cat = mysql_fetch_assoc($result))
$cats[$cat['parent_id']][] = $cat;
// далее наша главная, рекурсивная функция, которая сформирует дерево категорий
function create_tree ($cats,$parent_id){
if(is_array($cats) and isset($cats[$parent_id])){
$tree = '<ul>';
foreach($cats[$parent_id] as $cat){
$tree .= "<li><a href='catalog.html?catid=".$cat['id']."'>".$cat['name']."</a>";
$tree .= create_tree ($cats,$cat['id']);
$tree .= '</li>';
}
$tree .= '</ul>';
}
else return null;
return $tree;
}
// вызываем функцию и строим дерево
echo create_tree ($cats, 0);
?>
Как алгоритмически выполняется поиск по этому дереву?
Если сейчас без иерархии я ищу $sql = "SELECT id, name FROM company WHERE city='Чтото'";
Как сделать поиск в категории, если эта категория содержит еще внутри категории и элементы.