![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam chyba dość skomplikowane pytanie... otóż mam bazę opartą na pliku txt (baza.txt), który wygląda tak:
nr \ id \ nazwa \ tresc \ podmenu 0||1||główna||Witamy na stronie||0 1||2||jeden||pierwsza podstrona||0 2||3||dwa||druga podstrona.||0 3||4||trzy||trzecia podstrona||2 4||5||cztery||czwarta podstrona||2 Generalnie mam skrypt który odczytuje zawartość pola "nazwa" i robi z tego zakładki menu. Ale chciałbym też żeby było podmenu... Tzn. jeśli w polu "podmenu" jest np. wartość 2, to chodzi mi o to, żeby ta podstrona (a konkretnie link do niej) była jako podmenu zakładki głównej o ID 2 - jako link w menu rozwijanym. Kod <ul> <? $arrBase = file('baza.txt'); foreach ( $arrBase as $strLine ) { list ( $nr, $id, $nazwa, $tresc, $podmenu ) = explode( "||", $strLine ); $arrReturns = explode( "||", $strLine ); echo '<li><a "href="strona.php?page='.$nazwa.'">'.$nazwa.'</a></li>'; } echo '</ul>'; Ma ktoś pomysł jak to zrobić ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Ja robiłem coś podobnego na MySQL w topic'u : http://forum.php.pl/index.php?showtopic=174822 , może Cię natchnie ... albo poczytaj o nested set .
Ten post edytował nekomata 11.05.2011, 11:20:54 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 32 Dołączył: 21.03.2006 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie wiem jak z tymi warunkami to zrobić...
Kod $arrBase = file('baza.txt'); foreach ( $arrBase as $strLine ) { list ( $nr, $id, $nazwa, $tresc, $podmenu ) = explode( "||", $strLine ); $arrReturns = explode( "||", $strLine ); if ($podmenu == 0) { echo '<li><a "href="strona.php?page='.$nazwa.'">'.$nazwa.'</a></li>'; if ($podmenu == $id) { echo $nazwa; } } } echo '</ul>'; Takie coś nie za bardzo działa... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
struktura bazy id_menu nazwa_menu odnosnik rodzic działanie jeżeli rodzic = 0 kategoria główna jeżeli rodzic = id_menu to jest to podkategoria danego menu tu jest jeszcze jakiś art http://free.xaa.pl/wielopoziomowe-menu-w-php/ Ten post edytował ghastblood 11.05.2011, 13:48:30 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 2.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
już prawie mam
![]() Wychodzi tak: - główna - jeden - dwa --- trzy - cztery Kod który mam to: Kod $file = file('baza.txt'); foreach($file as $line) { $data[] = explode('||', $line); } foreach ($data as $klucz => $wartosc){ $id [$klucz]=$wartosc[1]; } $lp=0; echo '<ul>'; foreach ($id as $wartosc => $klucz){ if ($data[$wartosc][4]>$lp) echo '<ul>'; if ($data[$wartosc][4]<$lp) echo '</ul>'; echo '<li>'.$data[$wartosc][2].'</li>'; $lp= $data[$wartosc][4]; } echo '</ul>'; Pewnie gdzieś mam głupi błąd ale nie mogę dojść gdzie ![]() Ten post edytował lecter007 11.05.2011, 16:29:58 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 23:32 |