1. michael - 02 Ноября, 2007 - 11:27:20 - перейти к сообщению
Имеется таблица, содержащая столбец Id, parentId, name. Как построить дерево?Помогите... подскажите... как лучше...
2. evgenijj - 02 Ноября, 2007 - 11:49:24 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- // Получаем дерево категорий
- $categories = get_ctgs_tree( 0, 0 );
- echo "<h3>Дерево каталога</h3>\\n";
- foreach ( $categories as $ctg )
- {
- // выводим массив
- // $ctg[0] - уникальный ID категории
- // $ctg[1] - наименование категории
- // $ctg[2] - описание
- // $ctg[3] - уровень вложенности (чтобы делать отступы)
- }
- // Функция возвращает дерево категорий в виде массива
- function get_ctgs_tree($parent, $level)
- {
- $query = "SELECT id_ctg, name, description FROM ".TABLE_CATEGORIES." WHERE id_parent=".$parent." ORDER BY orders";
- {
- // Уровень вложенности категории
- $row[3] = $level;
- $ctg[] = $row;
- // получаем подкатегории для текущей категории
- $children = get_ctgs_tree($row[0], $level+1);
- // добавляем детей текущей категории в конец массива $ctg[]
- for ($j=0; $j<count($children); $j++)
- {
- $ctg[] = $children[$j];
- }
- }
- return $ctg;
- }