нужен алгорит для MySQL
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
нужен алгорит для MySQL - 2008-03-17 09:39:04.350000
|
|
|
svyazizt 3.0
Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
|
есть древовидная структура католога, которая в БД записивыется как [IDветки][IDВерхнего_уровня][Имя_ветки] и каталог ПС [IDветви][Текст] нужно реализовать алгорим который будет показывать ПС не только при выборе ветви которой он принадлежит, но и при выборе ветви более верхнего уровня. Моск совсем кипит уже!! помогите!
|
|
|
RE: нужен алгорит для MySQL - 2008-03-20 18:48:19.620000
|
|
|
tkvit
Сообщений: 50
Оценки: 0
Присоединился: 2007-01-07 17:48:20.876666
|
Ну так, а в чем проблема , при выборе ветки, более высокого уровня, выбираешь все ID низшего уровня, и по ним объединяешь с каталогом ПС, (или чо т не так я понял)
|
|
|
RE: нужен алгорит для MySQL - 2008-03-20 19:24:48.853333
|
|
|
svyazizt 3.0
Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
|
вложенность веток "беконечна"
|
|
|
RE: нужен алгорит для MySQL - 2008-03-21 04:36:35.086666
|
|
|
Панда
Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
|
ну делай рекурсию
|
|
|
RE: нужен алгорит для MySQL - 2008-03-21 09:11:09.386666
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
скинь примерный дамп. а то так не разобратся.
|
|
|
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; }
|
|
|
RE: нужен алгорит для MySQL - 2008-03-23 19:32:21.113333
|
|
|
svyazizt 3.0
Сообщений: 21
Оценки: 0
Присоединился: 2008-01-28 00:03:50.753333
|
tkvit, но к сожалению я искал не нашел, тупые рекурсии были.
|
|
|
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 вложений.
|
|
|
|
|