|
|
|
|
|
для: Axxil
(04.08.2006 в 13:24)
| | на самом деле
select id, parent_id, name from tbl
|
а таблица может иметь еще сотню полей, так что с тем же успехом не получится:) | |
|
|
|
|
|
|
|
для: Loki
(04.08.2006 в 13:21)
| | > рекурсию переложить целиком на php оставив всего один запрос к базе
:)
с тем же успехом можно вообще базой не пользоваться. А хранить в тектовом файле. | |
|
|
|
|
|
|
|
для: pengo
(04.08.2006 в 10:14)
| | есть варианты. Как я уже сказал, можно использовать nested sets, можно завести поле со структурой дерева, можно рекурсию переложить целиком на php, оставив всего один запрос к базе, а можно использовать несколько левых объединений. Так что можно и без вложенных процедур:) | |
|
|
|
|
|
|
|
для: pengo
(04.08.2006 в 12:20)
| | Проверяёте значение $count внутри функции - если оно больше 25, покидайте функцию при помощи оператора return. | |
|
|
|
|
|
|
|
для: cheops
(03.08.2006 в 13:54)
| |
// поправленый вариант
echo str_repeat(" ", $count).$table['name']."<br>";
| Я так понимаю это дерево можно применять для организауии каталогов любого уровня вложенности. А можно ли это дело как-то оптимизировать, чтоб не нагружать сильно базу.
И вообще как такие деревья оптимизируют?
И в итоге что быстрее и лучше. Куча маленьких запросов или один большой? Что быстрее базу завалит? | |
|
|
|
|
|
|
|
для: cheops
(03.08.2006 в 16:57)
| | Уважаемый cheops, а если мне необходимо спуститься по дереву не больше чем на 5 вложений. Как тогда организовать функцию. | |
|
|
|
|
|
|
|
для: Loki
(03.08.2006 в 13:59)
| | Насколько я знаю, чтобы избежать рекурсии, придёться использовать вложенные процедуры в SQL-запросах. | |
|
|
|
|
|
|
|
для: pengo
(03.08.2006 в 14:13)
| | Конечно же имеется ввиду вызов
| |
|
|
|
|
|
|
|
для: cheops
(03.08.2006 в 13:54)
| | а почему
ведь функция принимает только два параметра? | |
|
|
|
|
|
|
|
для: cheops
(03.08.2006 в 12:20)
| | Чтобы избежать рекурсии. | |
|
|
|
|