Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odwołanie do elemetu w tablicy
lukas69
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 22.11.2012

Ostrzeżenie: (0%)
-----


Hej,
mam taki problem chcę zwrócić wartość elementu dla kolejnego id problem w tym że to zwraca mi aktualną wartość
$nastepny = (isset($drzewo[$idx+1])) ? $galaz['poziom'] : 1;

i za bardzo nie wiem jak to ugryść.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Pokaż strukturę tablicy (print_r).
Go to the top of the page
+Quote Post
lukas69
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 22.11.2012

Ostrzeżenie: (0%)
-----


Array ( [0] => Array ( [id] => 1 [0] => 1 [rodzic_id] => 0 [1] => 0 [nazwa] => Strona główna [2] => Strona główna [poziom] => 0 ) [1] => Array ( [id] => 2 [0] => 2 [rodzic_id] => 0 [1] => 0 [nazwa] => Zarządzanie newsami [2] => Zarządzanie newsami [poziom] => 0 ) [2] => Array ( [id] => 3 [0] => 3 [rodzic_id] => 2 [1] => 2 [nazwa] => Dodanie newsa [2] => Dodanie newsa [poziom] => 1 ) [3] => Array ( [id] => 4 [0] => 4 [rodzic_id] => 2 [1] => 2 [nazwa] => Edytowanie/ usuwanie newsów [2] => Edytowanie/ usuwanie newsów [poziom] => 1 ) [4] => Array ( [id] => 5 [0] => 5 [rodzic_id] => 0 [1] => 0 [nazwa] => Zarządzanie galerią [2] => Zarządzanie galerią [poziom] => 0 ) [5] => Array ( [id] => 6 [0] => 6 [rodzic_id] => 5 [1] => 5 [nazwa] => Dodawanie grupy [2] => Dodawanie grupy [poziom] => 1 ) [6] => Array ( [id] => 8 [0] => 8 [rodzic_id] => 5 [1] => 5 [nazwa] => Dodawanie zdjęć [2] => Dodawanie zdjęć [poziom] => 1 ) [7] => Array ( [id] => 7 [0] => 7 [rodzic_id] => 0 [1] => 0 [nazwa] => Statystyki [2] => Statystyki [poziom] => 0 ) ) print_r($drzewo);

chcę to wykorzystać do menu zeby wiedzieć czy kolejny elemenet jest submenu czy też nie.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Może pokaż cały kod jak to robisz, bo teraz przecież ewidentnie widać, że jesli isnieje kolejny $idx to ty i tak zwracasz aktualny (IMG:style_emoticons/default/smile.gif)

ps: i używaj takich znaków jak: przecinek, kropka. Twóje zdania są nieczytelne. Szanuj innych czytelników.
Go to the top of the page
+Quote Post
lukas69
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 22.11.2012

Ostrzeżenie: (0%)
-----


Oki, tutaj mam cały kod. Zmienna $drzewo tj. tablica którą wkleiłem wyżej. Głównie chodzi mi żeby zmienna $nastepny pokazywała wartość kolejnego elementu, po to żeby sprawdzić czy poziom jest większy, mniejszy czy taki sam, wtedy będę mógł ustalić czy dany poziom należy do submenu czy też nie.

Kod

    <?php
                $poprzedni = 0;
                foreach ($drzewo as $idx=> $galaz) {
                 $nastepny = (isset($drzewo[$idx+1])) ? $galaz['poziom'] : 1;
                  if ($galaz['poziom'] == 0 ) {
                    echo '<li><a href="index.html"><i class="icon icon-home"></i> <span>'.$galaz['nazwa']. ' a'.$galaz['poziom'].' p'.$poprzedni.' n'.$nastepny.'</span></a></li>';
                  }else if ($galaz['poziom'] == 1 ) {
                    echo '<div style="margin-left : 10px;">'.$galaz['nazwa'].' '.$galaz['poziom']. ' '.$poprzedni. ' '.$nastepny.'</div>';
                  }
                    
                    $poprzedni = $galaz['poziom'];
                }    
            ?>
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to skoro chcesz wyświetlać następny to go wyświetlaj. A ty przecież zwracasz aktualny....$galaz jest wartoscią aktualną
Go to the top of the page
+Quote Post
lukas69
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 22.11.2012

Ostrzeżenie: (0%)
-----


I tutaj właśnie mam problem jak go zwrócić w tym zapytaniu, aktualny się zwaraca od razu a następny ?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czasami naprawdę nie wiem jak należy reagować na takie coś... (IMG:http://i90.photobucket.com/albums/k245/Andrewr05/FACEPALM/facepalmxd.gif)

Przecież sam piszesz:
isset($drzewo[$idx+1])
na sprawdzenie czy jest następny. Tak więc Twój następny to: $drzewo[$idx+1] a nie $galaz.....
Go to the top of the page
+Quote Post
lukas69
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 22.11.2012

Ostrzeżenie: (0%)
-----


Ok w takim razie jeśli to jest następny $drzewo[$idx+1] to jak zwrócić dla niego wartość z pola poziom ?
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dokładnie tak samo jak to robiłeś dla $galaz.....

$drzewo[$idx+1]['poziom']
Go to the top of the page
+Quote Post
lukas69
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 22.11.2012

Ostrzeżenie: (0%)
-----


Super dziękuje bardzo właśnie o to mi chodziło, teraz działa poprawnie:). Temat do zamknięcia
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 17:15