Автор Тема: проблемка  (Прочитано 2780 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проблемка
« : 02 Мая 2003, 17:14:30 »
Построение дерева иерархии с помощью PHP / MySQ
http://www.activex.net.ru/docs/tree.shtml

я использую этот скрипт, но проблемка - рекурсивная функция входит вглубь и.... не выходит :)), зацыкливается.... Может кто что то умное скажет?
Life is Good

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
проблемка
« Ответ #1 : 02 Мая 2003, 17:22:28 »
всегда деревья строил по алгоритму Nested Sets. Проблем не было ни разу. http://dev.e-taller.net/dbtree/
пример использования есть в этом форуме

Рабоочие примеры построения дерева с помощью рекурсии тоже были
http://forums.webscript.ru/showthread.php?s=&threadid=11198&msgnum=25
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проблемка
« Ответ #2 : 02 Мая 2003, 18:05:51 »
Цитировать
Макс:
пример использования есть в этом форуме


ты имееш ввиду есть статья? если да - скинь урл (немогу найти).
З.Ы. а в этих Nested Sets не сразу и разберешся...
Life is Good

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проблемка
« Ответ #3 : 02 Мая 2003, 19:30:15 »
Сорри. Только что увидел русскую документацию на http://dev.e-taller.net/dbtree/....
Почитал, скрипт хороший, но у меня уже все данные в мускл внесены по принцыпу Id && ParendId, а left and right мне не подходит....
Нужно этот скрипт исправить или другой.
Life is Good

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проблемка
« Ответ #4 : 02 Мая 2003, 19:47:02 »
Снова сорри :), нашел баг. скрипт заработал.
Life is Good

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
проблемка
« Ответ #5 : 03 Мая 2003, 17:22:18 »
снова я со своими деревьями :).


вот этот скрипт с http://www.activex.net.ru/docs/tree.shtml
(он немного ужасно написан, но главное здесь алгоритм)


include( "dbopen.php" ); 

function 
ShowTree($ParentID$lvl) { 

global 
$link
global 
$lvl
$lvl++; 

$sSQL="SELECT id,title,pid FROM catalogue WHERE pid=".$ParentID." ORDER BY title";
$result=mysql_query($sSQL$link);

if (
mysql_num_rows($result) > 0) {
echo(
"<UL>\\n");
while ( 
$row mysql_fetch_array($result) ) {
$ID1 $row["id"];
echo(
"<LI>\\n");
echo(
"<A HREF=\\""."?ID=".$ID1."\\">".$row["title"]."</A>"."  \\n");
ShowTree($ID1$lvl); 
$lvl--;
}
echo(
"</UL>\\n");
}

}

ShowTree(00); 

mysql_close($link); 


Мне нужно узнать есть ли у текущего елемента (с ID1) child elements...? Но без дополнительных запросов к базе. Думаю здесь можно воспользоватся счетчиком $lvl...
Life is Good

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28