Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Длинные урлы без циклов. (https://javascript.ru/forum/server/61195-dlinnye-urly-bez-ciklov.html)

Duda.Ml1986@gmail.com 08.02.2016 10:55

Длинные урлы без циклов.
 
Всем привет.

Есть сайт где есть страницы вида:

Сайт.ру/первая_часть/вротаря_часть/третья_часть

в БД.

1 первая_часть ; parent = 0
2 вротаря_часть ; parent = 1
3 третья_часть ; parent = 2

как получить в запросе 3 этих статьи при условии что их количество может быть и более 3х?

Сейчас через LEFT JOIN решается. Может цикл есть какой нибудь?

Генератор урла страницы с одним запросом в БД и безразмерной длиной урла?

laimas 08.02.2016 11:10

Цитата:

Сообщение от Duda.Ml1986@gmail.com
Сейчас через LEFT JOIN решается. Может цикл есть какой нибудь?

Ну так стандартное решение выборки дерева, это рекурсия.

Max Power 08.02.2016 18:33

Полно решений, например

rows[0] = select * from table where slug = 'первая часть' and parend_id is null
rows[1] = select * from table where slug = 'вторая часть' and parend_id = <rows[0].id>
rows[2] = select * from table where slug = 'третья часть' and parent_id = <rows[1].id>

В цикл завернуть не проблема, любая вложенность. Можно в хранимку завернуть

rows = хранимка('/первая_часть/вротаря_часть/третья_часть')

Max Power 10.02.2016 14:58

Ну и таки если postgress

http://www.postgresql.org/docs/9.1/static/ltree.html

и не морщить моск


Часовой пояс GMT +3, время: 00:32.