Добрый вечер, тостер! Очень долго решаю проблему вывода значений из таблицы. Большая каша в голове и коде.
Имеется таблица с полями: pages (id, name, url, parent). У каждой страницы есть подстраница (id подстраницы записывается в parent страницы). Мне нужно составить и вывести полностью ссылку (ссылки хранятся в url) определенной страницы. К примеру: SELECT 'url' FROM `pages` WHERE 'id' = 2
вывел один адрес (stranica)
А нужно вывести целиком цепочку подстраниц конкретной страницы: stranica1/stranica2/stranica3
Покажите, как это можно сделать через цикл или через рекурсию. Буду очень признателен!
Не вариант, если цепочка больше 2, надо писать функцию и по циклу перебирать элементы пока парент не станет нулем и потом выдавать результат в виде строки. Рекурсивные запросы типа with mysql не умеет
Если страницы строятся по типу деревьев - от 0 - корень и далее с вложенностью - для каждой группы добавьте дополнительный ид группы, если дерево страниц не будет больше 100 нод допустим, то выбираем все ноды с нужным груп_ид, а далее средствами пыха делаем перебор и строим цепочку.