Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] jak zrobić taką ścieżkę nawigacyjną ?
Forum PHP.pl > Forum > Przedszkole
jolam
Hejeczka smile.gif

Proszę powiedzcie mi jak zrobić taką ścieżkę nawigacyjną jak na stronie:
http://merlin.pl/albumy-krajoznawcze/brows...ory/1,1652.html
chodzi o ten pasek z odnośnikiami pod menu:<h2 class="categoryTitle">Książki > Albumy > Krajoznawcze</h2>Prosiłabym o wskazówki jak to kroczek po kroczku zrobić? Jakiś zarys takiego malutkiego projektu, bo nie wiem jak się za to zabrać. A może znacie jakieś strony z tutorialami na ten temat?

pozdrawiam Jola
nospor
wczytujesz kategorie, patrzysz jakich ona ma rodzicow i doklejasz rodzicow. Czego w tym nie rozumiesz?
jolam
nospor to potrafię zrobić. Ale problem mam z tym, że menu może być kilku poziomowe czyli są jeszcze dziadkowie i pradziadkowie smile.gif Podpowiesz jak to sprytnie zrobić? Chodzi mi o algorytm, jak to odczytywać z bazy. Mam id_rodzica przy każdej kategorii. Ale nie wiem jak to bez rekurencji zrobić, a rekurencja ponoć jest zła dla baz danych?

pozdrawiam serdecznie
nospor
Cytat
nospor to potrafię zrobić. Ale problem mam z tym, że menu może być kilku poziomowe czyli są jeszcze dziadkowie i pradziadkowie
Mowiac "rodzice" mialem na mysli: tato, dziadek, pradziadek... troche wiecej oglady w nazewnictwie informatycznym winksmiley.jpg

Cytat
Mam id_rodzica przy każdej kategorii. Ale nie wiem jak to bez rekurencji zrobić, a rekurencja ponoć jest zła dla baz danych?
To zrob normalną strukture tabeli przystosowaną do struktury drzewiastej. w necie jest tego masa.
jolam
nospor ja mam taką strukturę drzewiastą - mam drzewka IP smile.gif Tylko najzwyczajniej w świecie nie wiem jak jej efektywnie użyć w tym celu o którym Ci wcześniej pisałam. Czy byłbyś tak miły i powiedział mi jak mam się odwoływać do tej bazy z drzewkiem ip, żeby taką ścieżkę nawigacyjną zrobić? Bardzo Cię o to proszę

questionmark.gif
dr_bonzo
Przeciez to trywialne. Drzewko IP, masz strone o ID = '1.2.3.4'
To znasz przodkow tej strony, sa to '1', '1.2', '1.2.3', dolaczasz bierzacy obiekt (1.2.3.4) i generujesz HTML.
jolam
dr_bonzo faktycznie masz rację!
Tylko przodkowie to (ID) "1", "2", "3", a bieżący obiekt to "4" Oczywiście jeśli IP = "1.2.3.4"

Dziękuję!

Jola

A powiesz mi również jak pobierać całe drzewo z bazy nie używając rekurencji? Bo teraz sprawdzam rekurencyjną funkcją czy najstarszy obiekt ma dzieci, jeśli ma to je wypisuje i dla każdego z nich wywołuje się ta sama funkcja rekurencyjna i tak do końca. Czy to bez rekurencji się da?

Pozdrawiam Jola
nowotny
Cytat(jolam @ 14.09.2009, 12:50:55 ) *
Czy to bez rekurencji się da?

Nie da się... Generalnie są 3 czy 4 "standardy" przechowywania danych hierarchicznych w bazie danych... każda ma swoje wady i zalety... Wbrew pozorom jest to całkiem skomplikowana sprawa jeśli się chce w ten sposób obsługiwać tysiące rekordów... do prostego menu metoda rekurencyjna nie jest taka zła... Sam to ostatnio reserczowałem i mogę ci podać linki do dobrych źródeł ale tylko po angielsku...
dr_bonzo
Cytat(jolam @ 14.09.2009, 12:50:55 ) *
dr_bonzo faktycznie masz rację!
Tylko przodkowie to (ID) "1", "2", "3", a bieżący obiekt to "4" Oczywiście jeśli IP = "1.2.3.4"

Cos krecisz.
Pierwszy poziom, u korzenia ma oznaczenia jednoczlonowe oznaczenia ("1", "2", "1200",..).
Kolejny poziom ma dwuczlonowe oznaczenia (1.1, 1.2, 2.1, 2.2, 1200.1, 1200.2, 1200.3 )
itd, 1.1.1, 1.1.2, 1.1.3.

Wiec przodkami od "1.2.3.4" sa, tak jak mowilem, "1", "1.2", "1.2.3" .

jolam
nowotny podaj te linki chętnie przeczytam

dr_bonzo to ja nie wiem jaką metodę drzewek IP ty znasz. Ale chyba ci się ip z id pomyliło.
Id nie ma kropki więc nie może być "1.2.3". Ale jeśli rekord ma IP "1.2.3" to
id | ip | depht
1 1 0
2 1.2 1
3 1.2.3 2

Po prostu pomyliłeś sobie ID z IP

pozdrawiam Jola

phpion
laugh.gif hehe, widzisz dr_bonzo, jeszcze będziesz pouczany smile.gif przecież koleżanka tak jasno i klarownie wszystko tłumaczy...
dr_bonzo
@phpion biggrin.gif

@jolam: (Twoje) ID w przypadku drzewek IP NIC nie znaczy, bo rodzice moga miec IDki 123123, 34532, 123123 i 3 (a nie 1, 2, 3, tak jak to przyjelas). Wazne jest IP (ktore pierwotnie nazwalem ID, bo mozna to zrealizowac z samym IP, bez ID).

I przeciez nie wyznaczysz rodzicow na podstawie ID, tylko IP - co poparlem przeciez przykladem:

Cytat
Przeciez to trywialne. Drzewko IP, masz strone o ID = '1.2.3.4'
To znasz przodkow tej strony, sa to '1', '1.2', '1.2.3', dolaczasz bierzacy obiekt (1.2.3.4) i generujesz HTML.


gdzie mozna go zrozumiec jesli popatrzysz na wartości adresów (a nie na to nieszczesne "ID").
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.