Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Breadcrumbs id, parent_id

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
DeepVarvar Супермодератор
Отправлено: 29 Апреля, 2013 - 13:46:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




.
Это готовое решение

Готовое решение для тех, кто задался вопросом: как вывести хлебные крошки на сайте.

Имеем:

Таблица documents, где есть 4 поля:

id, parent_id, name, alias

Это не Nested Sets, не Materialized Path.
Имеем только то что имеем.

Задача:

Получить хлебные крошки от корня до текущего раздела.
Сделать все за один легкий запрос на клиенте.

Для этого используем хранимую процедуру.
Я искал в сети примеры. Все они были монстроподобны.
Вобщем наглядевшись на всякие страсти,
решил сделать это короче, красивее и адаптивнее.
Под спойлером результат:
Спойлер (Отобразить)

Процедура принимает два аргумента:
1) ID текущего документа, до которого нужно строить крошки.
2) 1 или 0 - добавить главную страницу в начало результата или нет.

Использование предельно просто:
CODE (SQL):
скопировать код в буфер обмена
  1. CALL get_breadcrumbs(22, 1);

После фетча результатов получаем массив вида:
Спойлер (Отобразить)


З.Ы.: Для тех кто использует не mysqli - имейте ввиду, процедура возвращает не один результат, а два: саму выборку и статус успеха.
Нам нужен только первый результат.
Кажется это не будет работать на старом драйвере без i в конце, увы.
Переезжайте на mysqli*
 
 Top
esterio
Отправлено: 29 Апреля, 2013 - 13:51:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Спасибо, как раз искал что-то наподобии.
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Апреля, 2013 - 13:55:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Да - очень многие задавались таким вопросом "А можно ли так?".
Да - можно. Закатив глазки
 
 Top
armancho7777777 Супермодератор
Отправлено: 29 Апреля, 2013 - 14:23:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Интересное решение.
DeepVarvar, +1 в карму Подмигивание
 
 Top
Саныч
Отправлено: 29 Апреля, 2013 - 15:20:46
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




DeepVarvar, +1. Теперь понятно, к чему был вопрос про процедуры))

Всегда было не понятно, а почему "хлебные крошки"?


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Апреля, 2013 - 15:22:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Я без понятия почему их так называют.
 
 Top
DelphinPRO
Отправлено: 29 Апреля, 2013 - 16:17:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




wp-kama.ru пишет:
Хлебные крошки (с англ. breadcrumbs) — это элемент навигации по сайту, выглядит как путь от главной страницы до текущей, на которой находится пользователь. Более логичное название — навигационная цепочка. Хлебные крошки называются так по ироничной анологии со сказкой, в которой дети, когда их завели в лес во второй раз, не смогли найти обратную дорогу, так как на этот раз вместо маленьких камешков они оставляли за собой хлебные крошки, впоследствии склеванные лесными птицами.


wp-kama.ru/id_541/samyie-hlebnyi e-kroshki-breabcrumbs-dlya-wordp ress.html


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB