Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

нужен алгорит для MySQL

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> нужен алгорит для MySQL
Имя
Сообщение << Старые топики   Новые топики >>
нужен алгорит для MySQL - 2008-03-17 09:39:04.350000   
svyazizt 3.0

Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
есть древовидная структура католога, которая в БД записивыется как

[IDветки][IDВерхнего_уровня][Имя_ветки]

и каталог ПС

[IDветви][Текст]

нужно реализовать алгорим который будет показывать ПС не только при выборе ветви которой он принадлежит, но и при выборе ветви более верхнего уровня. Моск совсем кипит уже!! помогите!
Post #: 1
RE: нужен алгорит для MySQL - 2008-03-20 18:48:19.620000   
tkvit

Сообщений: 50
Оценки: 0
Присоединился: 2007-01-07 17:48:20.876666
Ну так, а в чем проблема , при выборе ветки, более высокого уровня, выбираешь все ID низшего уровня, и по ним объединяешь
с каталогом ПС, (или чо т не так я понял)
Post #: 2
RE: нужен алгорит для MySQL - 2008-03-20 19:24:48.853333   
svyazizt 3.0

Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
вложенность веток "беконечна"
Post #: 3
RE: нужен алгорит для MySQL - 2008-03-21 04:36:35.086666   
Панда

Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
ну делай рекурсию
Post #: 4
RE: нужен алгорит для MySQL - 2008-03-21 09:11:09.386666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
скинь примерный дамп. а то так не разобратся.
Post #: 5
RE: нужен алгорит для MySQL - 2008-03-21 17:32:20.630000   
tkvit

Сообщений: 50
Оценки: 0
Присоединился: 2007-01-07 17:48:20.876666
не ну ленивый народ, в нете немерено инфы по этой теме
$string=recurs([IDВерхнего_уровня]);
function recurs($id){
static $txt='';
$sql="select * from <table> where parent_id=$id";
$query=mysql_query($sql);
while($rez=mysql_fetch_assoc($query)){
$txt.=recurs($rez["id"]);
$sql1="select * from <table1> where id=".$rez["id"];
$query1=mysql_query($sql1);
$rez1=mysql_fetch_assoc($query1);
$txt.=$rez1["text"];
}
return $txt;
}
Post #: 6
RE: нужен алгорит для MySQL - 2008-03-23 19:32:21.113333   
svyazizt 3.0

Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
tkvit, но к сожалению я искал не нашел, тупые рекурсии были.
Post #: 7
RE: нужен алгорит для MySQL - 2008-04-03 16:16:02.323333   
svyazizt 3.0

Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
может кому и пригодиться:

quote:

$sSQL = "SELECT id, country, n_mpk, d_publ, autor, name_p, opis FROM izbr WHERE id_tree IN (SELECT a6.id AS id FROM drevo AS a1 "
."LEFT JOIN drevo AS a2 ON a1.id = a2.lev_id "
."LEFT JOIN drevo AS a3 ON a2.id = a3.lev_id "
."LEFT JOIN drevo AS a4 ON a3.id = a4.lev_id "
."LEFT JOIN drevo AS a5 ON a4.id = a5.lev_id "
."LEFT JOIN drevo AS a6 ON a5.id = a5.lev_id WHERE a1.id =".$id." "
."UNION SELECT a5.id AS id FROM drevo AS a1 "
."LEFT JOIN drevo AS a2 ON a1.id = a2.lev_id "
."LEFT JOIN drevo AS a3 ON a2.id = a3.lev_id "
."LEFT JOIN drevo AS a4 ON a3.id = a4.lev_id "
."LEFT JOIN drevo AS a5 ON a4.id = a5.lev_id WHERE a1.id =".$id." "
."UNION SELECT a4.id AS id FROM drevo AS a1 "
."LEFT JOIN drevo AS a2 ON a1.id = a2.lev_id "
."LEFT JOIN drevo AS a3 ON a2.id = a3.lev_id "
."LEFT JOIN drevo AS a4 ON a3.id = a4.lev_id WHERE a1.id =".$id." "
."UNION SELECT a3.id AS id FROM drevo AS a1 "
."LEFT JOIN drevo AS a2 ON a1.id = a2.lev_id "
."LEFT JOIN drevo AS a3 ON a2.id = a3.lev_id WHERE a1.id =".$id." "
."UNION SELECT a2.id AS id FROM drevo AS a1 "
."LEFT JOIN drevo AS a2 ON a1.id = a2.lev_id WHERE a1.id =".$id." "
."UNION SELECT id FROM drevo WHERE id =".$id.") ";
$result = mysql_query($sSQL, $link);


до 6 вложений.
Post #: 8
Страниц:  [1]
Все форумы >> [Веб-программинг] >> нужен алгорит для MySQL







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.