Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 16:10 28.04.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема MySQL+PHP рекурсия, а само MySQL?
АвторЧaвдap (Нерегистриран) 
Публикувано27.03.06 20:58  



Здравейте,
Може ли да се предложи друго решение на следната ситуация:
Съдържание на книга записано в MySQL таблица. Съдържанието представлява имена на модули(в случая имената са имена на населени места), всеки модул може да има няколко подмодули, под-модулите могат да имат няколко под-под-модули и т.н.
Пример.
1.България
1.1. Смолян
1.1.1 Чепеларе
1.1.1.1 Забърдо
1.1.1.2 Пампорово
1.2 Варна
1.2.1 Бяла
2.Русия
3.Германия
3.1.Бавария
3.1.1 Мюнхен
3.1.1.1 Гармиш-Партенкирхен
4.Швеция
5.САЩ
5.1 Далас
5.1.1 Хюстън

7.Украйна

... и т.н Всеки модул, може да има неограничен брой подмодули.
Тези записи са организирани в една таблица със следните полета:
id – уникален пореден номер
thread – номер към, който даденият подмодул принадлежи, този номер е id-то на родителския модул.
name – име

Всеки модул в thread е записана 0, а на под-модул съответното id от родителския модул.
Ето и записите в таблицата с име „places”:

id thread name
1 0 България
2 1 Смолян
3 2 Чепеларе
4 3 Забърдо
5 3 Пампорово
6 1 Варна
7 6 Бяла
8 0 Русия
9 0 Германия
10 9 Бавария
11 10 Мюнхен
12 11 Гармиш-Партенкирхен
13 0 Швеция
И т.н

За да отпечатам имената на тези модули(да направя съдържание, както е погазано по-горе) използвам в PHP рекурсивна функция:

function thread($number)
{
$query=mysql_query(" SELECT id, name FROM `places` WHERE THREAD=$number;");
while($temp=mysql_fetch_array($query))
{
$id=$temp['id'];
$name=$temp['name'];
echo $name ;
thread($id);
}

return ;

}
За да отпечатам съдържанието извиквам функцията thread един път по следния начин:
thread(0) ;

Възможно ли е това, което правя да се реализира по друг начин със средствата на MySQL – вложени заявки, цикли или някакъв друг алгоритъм.
Предварително благодаря за отговорите.



Цялата тема
ТемаАвторПубликувано
* MySQL+PHP рекурсия, а само MySQL? Чaвдap   27.03.06 20:58
. * Re: MySQL+PHP рекурсия, а само MySQL? bira_more   28.03.06 19:18
. * Re: MySQL+PHP рекурсия, а само MySQL? Чaвдap   29.03.06 15:51
. * списък на съседство Dakota   30.03.06 13:33
. * Re: MySQL+PHP рекурсия, а само MySQL? NickBass   30.03.06 18:17
. * Re: MySQL+PHP рекурсия, а само MySQL? Чaвдap   31.03.06 11:31
. * Re: MySQL+PHP рекурсия, а само MySQL? NickBass   01.04.06 12:20
. * MySQL рекурсия??? Йopдaн   31.03.06 15:25
. * Re: MySQL рекурсия??? bira_more   31.03.06 16:41
. * чисто решение spica   14.09.06 04:05
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.