Здравствуйте! Необходимо сделать навигацию(хлебные крошки):
При этом Домой является родителем для Библиотека, а Библиотека является родителем для Данные. Для это в бд в таблице была создана ячейка parent_id Вся информация хранится в базе и подгружается только на одну страницу. Как это можно реализовать? Как понять что сейчас нужны вывести Данные, а не Библиотека? Помогите кто чем может) P.S. Страницы (Библиотека, Данные, ...) формируются динамически
//Определяем переменную parent_id
$parent_id = isset($_GET['parent_id']) ? $_GET['parent_id'] : null;
function breadcrumb($cat, $id){
//Проверяем что ID это число
if(!intval($id)) return false;
//Создаем пустой массив
$brc = array();
//Перебираем полученый массив с меню
for($i = 0; $i < count($cat); $i++){
//Проверяем что мы не нашли родителя и не массив пуст
if($id != 0 and !empty($cat[$id])){
//Ищем родителя
$brc[$cat[$id]['id']] = $cat[$id]['title'];
$id = $cat[$id]['parent'];
}
//Останавливаем цикл
else break;
}
//Возвращаем перевернутый массив с сохранением ключей
return array_reverse($brc, true);
}
Для это в бд в таблице была создана ячейка parent_id
Этого мало. Такая организация данных позволяет выбрать всех предков текущего раздела (что и нужно для "хлебных крошек") только рекурсивными обращениями к базе. Возможно, это можно обойти процедурой.
Существует четыре популярных метода хранения деревьев, чтобы различные их фрагменты можно было выбирать без рекурсии:
Информация отсюда: https://habrahabr.ru/post/193166/
Сам я пользуюсь обычно "Materialized Path" в упакованном виде (path CHAR(248)). Это автоматом вводит дополнительное (в другом месте архитектуры) ограничение на глубину дерева. Это самый простой "дубовый" (понятный) способ, и пофиг на лишние данные. Да и "Closure Table" это в принципе что-то подобное, только распакованное в отдельную реляцию, поэтому, он мне тоже нравится. "Nested Sets", вроде бы, используется в WordPress.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости