Каталог (дерево) насколько оправдана такая реализация?

  • Автор темы Автор темы w00t
  • Дата начала Дата начала

w00t

Новичок
Каталог (дерево) насколько оправдана такая реализация?

Набросал тут для теста простой класс отображения дерева каталога

Стояла задача, сделать как можно меньше sql запросов и делать выборку всех подкатегорий в выбранной категории (если выбрана) (и, показывать все элементы которые туда входят, но это я ещё не сделал)
Решил делать выборку всех категорий всегда.

Вроде все красиво, но ... какие минусы?
зы Кол.во категорий может оч большим.

PHP:
<?php
class catalog
{
  protected $category;

  function index()
  {
    $category = $this->db->query_read('SELECT * FROM `catalog`');
    while($row = $this->db->fetch_array($category))
    {
      $this->category[$row['parent']][] = $row;
    }

    $this->category_list();
  }
  
  function category_list($key=0,$space='')
  {
    if(count($this->category[$key]) > 0)
    {
      if($key) $space .= '-';
      foreach($this->category[$key] as $item)
      {
        echo'<div>'.$space.$item['name'].'</div>';
        $this->category_list($item['id'], $space);
      }
    }
  }
}
?>

Результат
PHP:
Категория 1
-Под категория 1
--Под категория 2
---Под категория 3
Категория 2
-Под категория 1
--Под категория 2
 
Сверху