Хлебные крошки(breadcrumbs)

Статус
В этой теме нельзя размещать новые ответы.

Sayrus

Новичок
Всем привет!
Как создать "нормальные хлебные крошки"%))...

Есть таблица...


Есть меню...


Есть вывод "Хлебных крошек" нажав на Категорию...

Тут все тип-топ.

Но вот стоит тыкнуть на под-категорию, беда...

Как сделать так чтобы и категория и под-категория отображались??

вот исходники....
PHP:
$q = mysql_query("SELECT id, category_pid, category_level, category_position, category_title FROM `category` WHERE category_pid=".intval($_GET['pId'])." AND id=".intval($_GET['id']));
		
		$breadcrumbs = array();
		
		if (mysql_num_rows($q) > 0) {
			
			while ( $r = mysql_fetch_array($q, MYSQL_ASSOC) ) {
				$breadcrumbs[] = $r;
			}
			
		}
		
		echo '<br /><div id="breadcrumbs"><ul>';
		echo buildBreadcrumbs($breadcrumbs);
		echo '<ul></div>';

function buildBreadcrumbs( $array, $output = "", $sprtr = "&raquo;" ) {
		
		//pre_array($array);
		
		$main = "http://localhost/";
		
		$separator = "&nbsp;".$sprtr."&nbsp;";
		
		for ($i = 0; $i < count( $array ); $i++) {
			
			if ($array[$i]["category_pid"] != 0) {
				$output .= '
				<li><a href="'.$main.'"> Главная </a>'.$separator.'<a href="?id='.$array[$i]["id"].'&pId='.$array[$i]["category_pid"].'">'.$array[$i]["category_title"].'</a></li>
				';
			} else {
				$output .= '<li><a href="'.$main.'"> Главная </a>'.$separator.$array[$i]["category_title"].'</li>';
			}
			
		}
		
		return $output;
		
	}
Что я делаю не так, куда копать?
Помогите плиз! уже 3-и сутки парюсь, блин надоело.
Заранее премного благодарен.
 

fixxxer

К.О.
Партнер клуба
Твоя проблема в том, что ты не можешь составить и описать алгоритм.
Не на php, а словами на русском языке.
Потому ты не говоришь словами, а показываешь картинки - "ооо так", "ыыыы не не так".

Вообще вроде как это говорит о том, что хорошо работает совершенно другая часть мозга, которая отвечает за образы а не за логику. Если это так, то с программированием у тебя ничего не получится, но возможно, ты можешь быть хорошим художником, музыкатном или актером =)
 

Sayrus

Новичок
Твоя проблема в том, что ты не можешь составить и описать алгоритм.
Не на php, а словами на русском языке.
Потому ты не говоришь словами, а показываешь картинки - "ооо так", "ыыыы не не так".

Вообще вроде как это говорит о том, что хорошо работает совершенно другая часть мозга, которая отвечает за образы а не за логику. Если это так, то с программированием у тебя ничего не получится, но возможно, ты можешь быть хорошим художником, музыкатном или актером =)
хорошо сказал, записал:)
Ну а по теме?
 

fixxxer

К.О.
Партнер клуба
Ну так я и по теме. Опиши словами на русском языке алгоритм построения строки с "хлебными крошками". Потом перенеси на язык php. Где в каком то моменте не получится - тут уже спрашивай. А писать код за тебя на этом форуме не принято, даже возбраняется сложившимися негласными правилами.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Sayrus
рекурсивно обходишь выбранный массив данных и строишь крошки. По теме.
 

vart

Новичок
Например ты находишься в папке 3.1 (ее родитель папка 2.1 а "дедушка" 1.1.). Тебе необходимо определять родителя текущей папки (текущую записываешь например в массив), далее перейти к родителю и определить родителя родителя и так далее, до тех пор пока родитель не будет = 0 (т.е. до корневой папки). Реализовать это возможно через рекурсивную функцию.
 

Foxter

Новичок
То же сейчас ищу решение для бредкрампс. И подумал... Просто идея для обсуждения. А не логичнее ли будет построение крох делать на js (history, скажем), чем гонять сервер и т.д.?
 

Breeze

goshogun
Команда форума
Партнер клуба
@Foxter, для обсуждения идей есть другие разделы форума, а не тема пятилетней давности.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху