![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 3 Dołączył: 4.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Uczę się SQLite i mam problem z pobieraniem danych. Mam 3 przykładowe tabele Kod menu id name 1 rowery 2 samochody sub_menu id menu_id name 1 2 Alfa Romeo 2 2 BMW sub_sub_menu id sub_menu_id name 1 Alfa Romeo 156 2 Alfa Romeo 166 ja pobierałem to w ten sposób
Próbowałem zmęczyć to na różne sposoby ale nie wypluwa mi danych tak jak bym chciał Chodzi mi konkretnie o coś takiego. Kod -rowery -samochody -alfa romeo -156 -166 -BMW |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
troszku inaczej - skoro unikalne masz w sum_menu nazwy to też powinieneś szukać po id...
dane wejściowe takie same, struktury:
dane wejściowe te same które podałeś ![]() zapytanie:
Wynik: ![]() Ten post edytował zegarek84 4.02.2010, 18:23:19 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 3 Dołączył: 4.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za wielką pomoc działa z małym problemem
![]() Otóż wypluwa mi takie dane próbowałem DISTINCT ale nie działa poprawnie Kod - samochody - alfa romeo - 156 - samochody - alfa romeo - 166 - samochody -bmw dałoby się to w jakiś sposób uporządkować w coś takiego Kod -samochody - alfa romeo - 156 - 166 - bmw byłbym wdzięczny i zobowiązany ![]() Ten post edytował fire_dept 4.02.2010, 22:37:53 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Użyj zapytania podanego przez zegarek84. Ważne jest to, byś potem odpowiednio przeszedł przez rekordy tworząc kilkuwymiarową tablicę. Jak? Podam algorytm
![]() 1. Bierzemy rekord i sprawdzamy czy jego pierwsze pole istnieje. 2. Jeśli nie tworzymy ją. 3. Jeśli tak wchodzimy do niej 4. Bierzemy następne pole i sprawdzamy czy owo pole już istnieje w tablicy. 5. Wracamy do punktu 2. 6. Jeśli brak kolumny następnej wracamy do punktu 1. 7. Postępujemy tak długo dopóki mamy rekordy. Teraz pokażę jak to na żywca wygląda. Rekord: rowery Bierzemy i sprawdzamy. Brak tablicy więc tworzymy węzeł o tej nazwie. Nie ma nstępnych kolumn. Idziemy do kolejnego rekordu. Samochody-alfa romeo-156: Brak samochodów więc tworzymy. Alfa romeo brak - tworzymy w Samochody ten węzeł. 156 brak w Alfa romeo - tworzymy węzeł. Brak kolumn - idziemy do kolejnego rekordu Samochody-alfa romeo-165: Samochody istnieją - wchodzimy tam. Alfa romeo istnieje - wchodzimy tam. 165 nie istnieje - tworzymy ten węzeł w Alfa romeo. Brak kolumn - idziemy do kolejnego rekordu. Samochody-bmw: Samochody istnieją - wchodzimy tam. Bmw nie istnieje - tworzymy. Brak kolumn. Brak następnego rekordu. Koniec. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Albo wejdź na tu: http://www.cojack.pl/postgresql-ltree/284
Opisane jak tworzyć menu bez znaczenia o ilości zagłębień. Ten post edytował cojack 5.02.2010, 09:17:24 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 3 Dołączył: 4.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Panowie nie umię zrobić takiej tablicy, jak mówicie, żeby odpowiadała temu co chciałbym uzyskać.
Ja pracuje na SQLite i z tego przykładu z linku nie za bardzo chce działać próbowałem na różne sposoby. Byłbym niesamowicie wdzięczny gdyby ktoś chociaż zarys kodu mi przedstawił, mnie już boli głowa od 4 godzin próbuję i nic. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Nie da się tak zrobić jak Ty chcesz. Żeby Ci od razu drzewo wyświetlił z samego selecta. Podejdź do tego tak jak Ci thek napisał.
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 3 Dołączył: 4.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie da się tak zrobić jak Ty chcesz. Żeby Ci od razu drzewo wyświetlił z samego selecta. Podejdź do tego tak jak Ci thek napisał. Ja doskonale wiem, że z samego selecta nie wyciągnę drzewa. Chodzi mi o to, że próbowałem z tablicami wielowymiarowymi i nie bardzo chciało mi się to wszystko zgrać nie jestem mega mózgiem w PHP i niekiedy dla was prosta rzecz dla mnie będzie nie do przeskoczenia. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 05:01 |