Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Grupowanie danych w tablicy
GreenGo
post
Post #1





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

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


Witam, zapisałem dane z bazy w tablicy, która wygląda teraz następująco:
Kod
Array (
[0] => Array ( [0] => www [1] => asd [2] => asd [3] => test )
[1] => Array ( [0] => Argania [1] => CapeDun [2] => Zad 4 [3] => test 4 )
[2] => Array ( [0] => Argania [1] => Montera [2] => Zad 3 [3] => test 3 )
[3] => Array ( [0] => www [1] => asd [2] => aaaaaaa [3] => sd sda sad asd )
[4] => Array ( [0] => Argania [1] => Velmord [2] => Zad 1 [3] => test test test test )
[5] => Array ( [0] => Argania [1] => Velmord [2] => Zad 2 [3] => test 2 test 2 tst 2 test 2 )
)

Chciałbym aby wyświetliły mi się nazwy o indexach [x][0] (czyli www, Argania, Argania, www, Argania, Argania) ale nie powtarzając się czyli tylko www oraz Argania. Po kliknięciu na jedną z tych nazw chciałbym aby pokazały się nazwy o idexach [x][1] ale również nie powtarzając się i należące do poprzedniego indexu czyli po kliknięciu w Argania chciałbym aby wyświetliło się "CapeDun" "Montera" i "Velmord". Chciałbym aby powstało takie drzewiaste menu ale niestety nie mam pojęcia jak to zrobić mając wszystko w takiej tablicy. Zrobiłem to przekazując dodatkowe zmienne w adresie i na ich podstawie wyświetlając kolejne dane ale do tego było potrzebne dużo zapytań przez co nie było to wydajne rozwiązanie.
Graficznie chciałbym osiągnąć coś takiego po kliknięciu w Arganie a potem w Velmord:
Kod
-Argania
-----CapeDun
-----Montera
-----Velmord
---------Zad 1
---------Zad 2
-www


Byłbym wdzięczny za pomoc i mam nadzieje, że zostałem zrozumiany (IMG:style_emoticons/default/smile.gif)


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bastard13
post
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Przy ładowaniu strony pobieraj tylko pierwsze nazwy:
  1. SELECT nazwa_kol_0 FROM tabela group_by nazwa_kol_0;

wynik wyświetlasz w postaci dwóch linków i do każdego podpinasz zdarzenie onclick, a w nim funkcja pobierająca za pomocą AJAX'a kolejne nazwy tzn. dla kliknięcia na Argania powoduje wywołanie funkcji wysyłającej zapytanie do pliku na serwerze, który zwraca wynik zapytania:
  1. SELECT nazwa_kol_1 FROM tabela WHERE nazwa_kol_0='Argania' group_by nazwa_kol_1;

funkcja AJAX odbiera wynik i dodaje kolejne linki, które działają tak, jak te wcześniejsze.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 12:36